日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CentOS7中文語言亂碼以及Tomcat日志中文亂碼問題解決

linux系統(tǒng)中文語言亂碼,是很多小伙伴在開始接觸Linux時經(jīng)常遇到的問題,而且當(dāng)我們將已在Wndows部署好的項目搬到Linux上運行時,Tomcat的輸出日志中文全為亂碼(在Windows上正常),看著非常心塞,那么我們應(yīng)該怎么解決呢?

創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元鐘山做網(wǎng)站,已為上家服務(wù),為鐘山各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792

系統(tǒng)中文亂碼

Tomcat輸出日志中文亂碼

系統(tǒng)環(huán)境

  • CentOS 7.0 64位
  • jdk-8u11-linux-x64.
  • apache-tomcat-8.5.16

解決步驟:

1.安裝中文語言包  

先查看系統(tǒng)是否有安裝中文語言包  

# locale -a  (列出所有可用的公共語言環(huán)境的名稱)

若發(fā)現(xiàn)以上幾項,說明系統(tǒng)已安裝中文語言包,無需再安裝,那這幾項代表什么意思呢?

{語言代號}_{國家代號}.{字符集}

zh是中文的代號、CN是中國的代號、gb18030,gb2312,utf8是語言字符集

那么每一項可以通俗理解為   “你是說中文的,你在中國,語言字符集是gb18030/gb2312/utf8”

如果沒有發(fā)現(xiàn)以上幾項,則手動安裝中文語言包

# yum install kde-l10n-Chinese            (大概11M)

2.修改i18n國際化和locale.conf本土化配置文件

在修改配置文件之前,我們先看看當(dāng)前系統(tǒng)語言環(huán)境

#    locale  

("en_US.UTF-8"按照上面的內(nèi)容可以理解為“你說英語,你在美國,語言字符集為UTF-8”) 

每項的意思分別為 :

LANG:當(dāng)前系統(tǒng)的語言

LC_CTYPE:語言符號及其分類

LC_NUMERIC:數(shù)字

LC_COLLATE:比較和排序習(xí)慣

LC_TIME:時間顯示格式

LC_MONETARY:貨幣單位

LC_MESSAGES:信息主要是提示信息,錯誤信息, 狀態(tài)信息, 標(biāo)題, 標(biāo)簽, 按鈕和菜單等

LC_NAME:姓名書寫方式

LC_ADDRESS:地址書寫方式

LC_TELEPHONE:電話號碼書寫方式

LC_MEASUREMENT:度量衡表達方式

LC_PAPER:默認紙張尺寸大小

LC_IDENTIFICATION:對locale自身包含信息的概述

LC_ALL:優(yōu)先級最高變量,若設(shè)置了此變量,所有LC_* 和LANG變量會強制跟隨它的值

我們看到雖然安裝了中文語言包但本機的語言環(huán)境并不是中文,先修改i18n配置文件

#    vim /etc/sysconfig/i18n

添加如下兩行代碼

LANG="zh_CN.UTF-8"
LC_ALL="zh_CN.UTF-8"

#  source    /etc/sysconfig/i18n

再修改 locale.cnf配置文件

#   vim /etc/locale.conf

LANG="zh_CN.UTF-8"

#  source   /etc/locale.conf

重啟系統(tǒng)

# reboot

3.設(shè)置終端連接編碼

文件->打開->選中會話->右鍵->屬性->終端 (我用的終端連接工具是Xshell,其它連接工具更改編碼方式請自行百度)

將編碼改為 UTF-8

重新連接,再查看當(dāng)前系統(tǒng)語言環(huán)境

# locale 

發(fā)現(xiàn)系統(tǒng)語言環(huán)境已經(jīng)成功改為 “zh_CN.UTF-8”

再次嘗試編輯中文

# vim 你是豬嗎

#  ls

SUCCESS!至此,系統(tǒng)中文亂碼問題已解決。

4.解決Tomcat輸出日志亂碼

既然系統(tǒng)中文亂碼已經(jīng)解決了,那么Tomcat輸出日志中文亂碼會不會也解決了呢?

我們現(xiàn)在看看Tomcat輸出日志  

進入Tomcat目錄

# cd $CATALINA_HOME

#  tail -f ./logs/catalina.out

很遺憾,Tomcat日志中文還是亂碼。

分析:既然系統(tǒng)已經(jīng)不會出現(xiàn)中文亂碼,證明系統(tǒng)語言環(huán)境是正常的,但是Tomcat日志還會出現(xiàn)中文亂碼,說明是Tomcat內(nèi)部的問題,網(wǎng)上查了一些資料,知道是JVM(Java Virtual Machine)

java虛擬機所用的字符集與系統(tǒng)所用的字符集不一致造成的,知道原因,問題就好解決了,可以通過配置JVM的啟動參數(shù)來達到修改JVM所使用字符集的目的。

# ls -l ./bin/

找到 daemon.sh 和 catalina.sh   分別加入以下代碼:

JAVA_OPTS="$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

# vim ./bin/catalina.sh

保存退出,重啟Tomcat

# ./bin/shutdown.sh

# ./bin/startup.sh

現(xiàn)在再查看輸出日志

# tail -f ./logs/catalina.out

向服務(wù)器發(fā)一次請求

Tomcat輸出日志中文正常顯示。

end!   (*^-^*) 


新聞名稱:CentOS7中文語言亂碼以及Tomcat日志中文亂碼問題解決
URL標(biāo)題:http://www.dlmjj.cn/article/djichsi.html