网站发布后中文乱码,原因定位

162 阅读1分钟

发布乱码主要有两个原因,一是maven编包时导致了乱码,二是tomcat解码时导致了乱码,不清楚具体原因只能逐项排查。

1. 检查maven配置

控制台输入mvn -v查看平台编码格式:

image.png
如果发现平台编码格式为GBK,需要改为UTF-8: 在环境变量中添加MAVEN_OPTS,并重新启动控制台即可。

image.png

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"
重新发布,问题解决 (记得清楚网页缓存)。