上周遇到了乱码问题,让我很是头疼。
首先简单说一下一般乱码问题:
1、检查文件、项目的编码
2、JSP、HTML编码
3、web.xml编码
4、springmvc返回时设置的编码
5、tomcat编码
上面没有写实际操作,大家可以根据关键字百度网上太多,就没写。
以上当时我都进行了设置,但是页面(HTML非JSP)内容还是乱码。
此时我又去修改了JAVA编码,才解决了乱码问题。
在tomcat下catalina.bat文件,头部添加
set JAVA_OPTS=-Dfile.encoding=UTF-8
即可设置java编码
当然还有许多其他方式,大家可以在网上百度一下,就不做过多说明了。
于是我大胆的猜想了一下项目启动顺序。
项目首先是经过tomcat容器处理,但是他不会处理HTML的内容,因为他可能会把HTML理解为静态的所以为进行编码处理。
到了JVM的时候并未设置UTF-8编码于是HTML没处理的就会变成乱码。
后面原理部分属于猜想,未证实,往看到的大神指点一下。