1. 程式人生 > >Tomcat部署項目亂碼問題總結

Tomcat部署項目亂碼問題總結

讀取 permsize odi 問題 進制 pts odin 打開 導致

打包好的war包放在tomcat下,有時會出現中文亂碼的情況。首先應當確定項目的編碼格式,tomcat的編碼格式,以及cmd命令行的編碼格式。

  • 項目編碼

將要輸出到控制臺或日誌的字符串轉為UTF-8

1 String words=  "utf-8編碼";
2 words = new String(words.getBytes("GBK"),"UTF-8");

重新打包運行,查看是否亂碼。

  • tomcat編碼

tomcat啟動時默認使用系統編碼,可更改tomcat bin目錄下catalina.bat文件,在代碼最上面加入

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF8

xms,xmx設置tomcat占用的最小內存和最大內存,-Dfile.encoding=UTF8設置tomcat編碼格式

  • cmd命令行編碼

設置此項是由於使用startup.bat啟動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。由於tomcat打開的cmd默認編碼可能不是utf-8,從而導致亂碼。

打開註冊表,找到HKEY_CURRENT_USER→Console→Tomcat,找到CodePage項,沒有則創建,更改值為十進制的65001,點擊確定。

或直接復制下面代碼,保存為.bat文件,直接運行。

set rr="HKCU\Console\Tomcat"
reg add 
%rr% /v "CodePage" /t REG_DWORD /d 0x0000fde9 /f>nul

重新啟動tomcat即可。

Tomcat部署項目亂碼問題總結