0.前言
使用ssm框架搭建项目,使用tomcat访问html文件,出现下面的情况。
这个文件,如果在电脑里面直接打开,是正常的
那么这个问题,大概率出现在tomcat的配置上,需要按照以下几条进行排查。
1.HTML问题
首先,检查一下你的html是不是UTF-8格式,也就是有没有类似下面的代码
<metacharset="UTF-8">如果不是,修改编码格式为UTF-8
2.Tomcat配置问题
先找到你tomcat的文件目录
2.1 server.xml
进入到tomcat的conf文件夹,找到server.xml,用编辑器打开
找到下面的代码,增加这一行。(直接用ctrl+F 快速搜索”8080“ 这样的关键词就能快速找到)
URIEncoding="UTF-8"
然后,保存。
2.2 web.xml
打开conf里面的web.xml
找到如下的代码(搜索”debug“就能快速定位)
然后增加下面的代码
<init-param><param-name>fileEncoding</param-name><param-value>UTF-8</param-value></init-param>然后保存这个文件。
2.3 catalina.bat
我们回到上一级,进入到bin目录,找到"catalina.bat"
右击,使用编辑器打开它(不要双击运行)
使用搜索功能,搜索下面的内容,快速定位到位置
set"JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS%"
然后在这行的下面,增加下面的内容
-Dfile.encoding=UTF8-Dsun.jnu.encoding=UTF8变成下面这样:
保存这个文件。
3.清理缓存
上述操作完成后,先把tomcat停掉,然后一定要清理缓存。
以edge浏览器为例子
把这些都勾选。
然后,重新运行tomcat就行。