原则:tomcat编码跟显示日志的编码一致,则不会乱码
1、tomcat下conf包server.xml里Connector标签加上 URIEncoding=“UTF-8”
即:
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
2、tomcat下的conf包的logging.properties里
UTF-8替换成GBK
3、注册表,主要目的是改tomcat的默认编码格式
4、感觉上面那些可有可无,就这个有效!
在tomcat的bin目录下打开catalina.bat文件 然后设置如下参数:
set JAVA_OPTS=-Xms1024m -Xmx2048m -XX:MaxPermSize=512m -Dfile.encoding=GBK
注意:此时改成GBK可能会导致html页面中文乱码!为了不影响页面乱码,请按以下解决办法:
1)改注册表,tomcat默认编码是GBK,所以改成GBK才不会乱码,但是改成GBK又跟html页面编码不一致,导致html乱码,所以就将tomcat的编码改成utf-8
如果没有上图红框的内容,直接新建一个即可。新建一个DWORD32位,将名字改成CodePage,值改成65001
2)将tomcat下的conf包的logging.properties里GBK替换成UTF-8
即:java.util.logging.ConsoleHandler.encoding = UTF-8
3)将tomcat的bin目录下打开catalina.bat文件 然后设置如下参数:
set JAVA_OPTS=-Xms1024m -Xmx2048m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8
结束,亲测有效!