Tomcat部署项目乱码问题总结

Tomcat部署项目乱码

打包好的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即可。

 

posted @ 2017-11-16 13:25  吾乃闪耀的知识灯塔  阅读(9578)  评论(1编辑  收藏  举报