tomcat日誌中文亂碼問題

      平時在使用tomcat做一些服務的時候經常遇到各種亂碼問題,要麼是控制檯輸出亂碼或者輸出日誌亂碼,要麼頁面接收亂碼,非常煩人。引起亂碼的原因多個,從網上學習了很多,現在嘗試簡單總結給大家分享

一、頁面輸出亂碼

有三種可能

1.server.xml配置未註明編碼格式

瀏覽器本身有自己的顯示編碼格式,tomcat的輸出也有自己的格式,甚至我們在編寫代碼的過程中也可以指定輸出的編碼格式。所以這類原因導致的亂碼,需要我們保持各種編碼格式統一:

a.在tomcat中將server.xml 的我們所用的端口的配置添加URIEncoding="UTF-8"

b.在html的<html></html>標籤內加上meta標籤

c.最好在編程中輸出頁面的時候指定編碼爲UTF-8

2.catalina.bat的配置問題

在\tomcat\bin\catalina.bat這個配置文件中加上

set JAVA_OPTS=-Dfile.encoding=UTF-8

3.用編譯工具,在IDEA編譯器中的VM options:設置-Dfile.encoding=UTF-8,或eclipse 的設置中改成utf-8 輸出的問題可以解決

二.控制檯輸出亂碼

這個問題的原因是windows默認編碼集爲GBK,由於使用startup.bat啓動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。打開的cmd默認編碼可能不是utf-8,與系統編碼不一致,所以導致亂碼。所以tomcat的命令框和輸出日誌都是亂碼

解決的辦法有兩個:

1.修改cmd命令行的編碼

a.打開註冊表,找到HKEY_CURRENT_USER→Console→Tomcat

b.找到CodePage項,沒有則創建,更改值爲十進制的65001

2.修改logging.properties配置

a.打開tomcat/conf/logging.properties

b.添加語句:

java.util.logging.ConsoleHandler.encoding = GBK

c.重啓tomcat,查看日誌數據即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章