tomcat 发布后中文乱码问题
接口收到数据,使用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即可。