Linux系統中文語言亂碼,是許多小夥伴在開始接觸Linux時經常遇到的問題,而且當我們將已在Wndows部署好的專案搬到Linux上運行時,Tomcat的輸出日誌中文全為亂碼(Windows上正常),看著非常心塞,那我們該怎麼解決呢?
系統中文亂碼
#### 系統中文# ## Tomcat輸出日誌中文亂碼
系統環境
1.安裝中文語言包
•幾項代表什麼意思呢?
{語言代號}_{國家代號}.{字元集}
g zh是中文的代號、CN12122121212 月的程式碼是中文的代號、CN1212212212122121221212.21212224212222212222222222222222222#n.
那麼每一項可以通俗理解為 「你是說中文的,你在中國,語言字符集是gb18030/gb2312/utf8」# 項則手動安裝 項,如果安裝 包
#
yum install kde-l10n-Chinese (大概11M)ale 國際化文件#F18.# 在修改設定檔之前,我們先看看目前系統語言環境
# 每 的意思分別為:
LANG:目前系統的語言LC_CTYPE#:語言符號及其分類學符號及其分類學符號為編號:編號 LC_COLLATE:比較和排序習慣
LC_TIME:時間顯示格式LC_MONETARY:貨幣單位
# 等資訊資訊等資訊資訊是主要資訊與功能資訊、資訊、狀態資訊和 功能資訊是主要資訊、相關資訊、 資訊狀態等 功能資訊和 功能資訊是主要資訊和 功能資訊、相關資訊、「功能」功能、「資訊狀態」功能是主要資訊。
LC_NAME:姓名書寫方式
LC_ADDRESS:地址書寫方式
聚UREMENT:度量衡表達方式
LC_PAPER:預設紙張尺寸大小
LC_IDENTIFICATION:對locale本身包含資訊的概述
此變數,所有變數值它的值
我們看到雖然安裝了中文語言包但本機的語言環境並不是中文,先修改i18n設定檔
# vim /etc/sysconfig
# 新增以下兩行程式碼 LANG="zh_CN.UTF-8"#
source /etc/sysconfig/i18n
再修改locale.cnf設定檔
# vim /etc/locale.conf
LANG="zh_CN.UTF-8"
㠀 source /etc/locale.conf
重啟系統 # reboot 3.設定終端連接編碼## 會話 檔案->屬性->終端機(我用的終端連接工具是Xshell,其它連接工具更改編碼方式請自行百度)
# 重新連接,再查看當前系統語言環境
# locale 成功改為“zh_CN.UTF-8” 再次嘗試編輯中文 # vim 你是豬嗎# #〠## SUCCESS!至此,系統中文亂碼問題已解決。
4.解決Tomcat輸出日誌亂碼
既然系統中文亂碼已經解決了,那麼Tomcat輸出日誌中文亂碼會不會也解決了呢? 我們現在來看看Tomcat輸出日誌 進入Tomcat目錄 # cd $CATALINA_HOME # tail -f ./##
很遺憾,Tomcat日誌中文還是亂碼。
分析:既然系統已經不會出現中文亂碼,證明系統語言環境是正常的,但是Tomcat日誌還會出現中文亂碼,表示是Tomcat內部的問題,網上查了一些資料,知道是JVM (Java Virtual Machine)
java虛擬機所用的字元集與系統所用的字元集不一致造成的,知道原因,問題就好解決了,可以透過設定JVM的啟動參數來達到修改JVM所使用字符集的目的。
# ls -l ./bin/
找出daemon.sh 與catalina.sh "$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8"## # # vim .// bin/daemon.sh
卷
## # ./bin/shutdown.sh
# ./bin/startup.sh
現在再檢視輸出日誌
# tail -f ./ logs/catalina.out
向伺服器發送一次請求
######以上是Tomcat日誌中文亂碼怎麼解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!