(轉)解決tomcat控制台亂碼


轉自:https://blog.csdn.net/zhaoxny/article/details/79926333

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,點擊確定。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM