Tomcat亂碼問題 catalina.bat設置爲UTF-8 控制檯出現亂碼

 

Tomcat亂碼問題 catalina.bat設置爲UTF-8 控制檯出現亂碼

2018年04月13日 11:44:16 zhaoxny 閱讀數:2263 標籤: tomcat 更多

個人分類: tomcat

1、catalina.bat中必須設置爲UTF-8,如果我不設置爲UTF-8,頁面接收到的就是亂碼了,嘗試過各種UTF-8的調試,都無解,最後還是只能在catalina.bat的set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%  -Dfile.encoding=UTF-8" ,加上UTF-8問題就可以解決了,但是tomcat的命令框和輸出日誌都是亂碼

2、如果是用編譯工具,在IDEA編譯器中的VM options:設置-Dfile.encoding=UTF-8,或eclipse 的設置中 改成utf-8 輸出的問題可以解決。但是在windows服務器上用tomcat部署的時候,亂碼解決不了。

3、在service.xml中,加上UTF-8,試過是無用的,依舊亂碼。

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8433" URIEncoding="UTF-8" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8433" URIEncoding="UTF-8"/>

 

問題原因:

windows默認編碼集爲GBK,由於使用startup.bat啓動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。打開的cmd默認編碼可能不是utf-8,與系統編碼不一致,所以導致亂碼。

 

解決方法:

修改cmd命令行的編碼,打開註冊表,找到HKEY_CURRENT_USER→Console→Tomcat(如果你改了tomcat的標題欄,這裏就是你打開的命令窗口的名字),找到CodePage項,沒有則創建,更改值爲十進制的65001,點擊確定。

第二個方法

1、找到${CATALINA_HOME}/conf/logging.properties
2、添加語句:java.util.logging.ConsoleHandler.encoding = GBK

3、重啓tomcat,查看日誌數據即可!

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