首頁  >  文章  >  運維  >  Tomcat日誌中文亂碼怎麼解決?

Tomcat日誌中文亂碼怎麼解決?

零下一度
零下一度原創
2017-07-27 15:27:445154瀏覽

   Linux系統中文語言亂碼,是許多小夥伴在開始接觸Linux時經常遇到的問題,而且當我們將已在Wndows部署好的專案搬到Linux上運行時,Tomcat的輸出日誌中文全為亂碼(Windows上正常),看著非常心塞,那我們該怎麼解決呢?

  

               系統中文亂碼

## 

##   系統中文# ##                             Tomcat輸出日誌中文亂碼

 系統環境

    #CentOS 7.0 64位元
  • jdk-8u11-linux-x64.
  • apache-tomcat-8.5. 16
  •      解決步驟:

   1.安裝中文語言包 

       先檢查系統       先檢查系統        先檢查系統是否安裝語言包還是安裝語言包# locale -a  (列出所有可用的公共語言環境的名稱)

        

          •幾項代表什麼意思呢?

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

       g zh是中文的代號、CN12122121212 月的程式碼是中文的代號、CN1212212212122121221212.21212224212222212222222222222222222#n.

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

# 項則手動安裝  項,如果安裝 包

       # 

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

ale 國際化文件#F18.

#      在修改設定檔之前,我們先看看目前系統語言環境

         
   

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

#    每    的意思分別為:

       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,其它連接工具更改編碼方式請自行百度)

     將編碼改為UTF-8

#     重新連接,再查看當前系統語言環境

      # 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn