接口收到數據,使用Eclipse運行調試中文正常顯示,發布到Tomcat后中文出現亂碼情況:
解決方法:
tomcat啟動時默認使用系統編碼,可更改tomcat bin目錄下catalina.bat文件,增加
set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF8
xms,xmx設置tomcat占用的最小內存和最大內存(大小根據服務器內存大小設置),-Dfile.encoding=UTF8設置tomcat編碼格式
set -Dfile.encoding=UTF8
設置此項是由於使用startup.bat啟動tomcat時,它會讀取catalina.bat的代碼並打開一個新窗口運行。由於tomcat打開的cmd默認編碼可能不是utf-8,從而導致亂碼。
regedit 打開注冊表,找到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即可。