排查中文乱码
情景: tomcat 中jsp不会乱码 但是html中文会乱码
1.排查html中是否设置编码
查看html页面中是否配置meta标签
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2.排查tomcat中server.xml是否配置编码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
==================================================================================
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>
3.排查tomcat中catalina.bat是否设置编码
Java中的file.encoding和sun.jnu.encoding属性的设置含义.
# catalina.bat
查看是否配置file.encoding、sun.jnu.encoding
java文件编码、系统默认编码
set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8
# web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>fileEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
4.排查js外联是否需要设置编码
如果以上都配置了编码,还存在乱码,可以通过外联设置编码的方式处理
<script type="text/javascript" src="myscripts.js" charset="UTF-8"></script>