发布乱码主要有两个原因,一是maven编包时导致了乱码,二是tomcat解码时导致了乱码,不清楚具体原因只能逐项排查。
1. 检查maven配置
控制台输入mvn -v查看平台编码格式:
如果发现平台编码格式为GBK,需要改为UTF-8:
在环境变量中添加MAVEN_OPTS,并重新启动控制台即可。
2. 检查tomcat配置
首先,查看静态网页.jsp文件内是否定义<meta charset="UTF-8"/>
其次,配置tomcat编码为UTF-8: 找到tomcat目录下conf文件夹内的server.xml,打开,修改
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 为
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
最后,修改bin目录下的catalina.bat
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"为
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8"
重新发布,问题解决 (记得清楚网页缓存)。