编码问题
最近做项目,发现了编码的问题,下面我们就从发送请求到看到页面整个过程来整理 一下编码问题,以下所有编码都将统一为UTF-8
前端
前端HTML页面在头标签中添加
<meta charset="utf-8">
后端过滤器
在web.xml文件中添加以下代码(注意web.xml各个标签的顺序是有要求的)
<!-- 使用spring提供的encodingfilter -->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Tomcat
在tomcat的conf文件夹中,修改server.xml(添加 URIEncoding="UTF-8”)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
编译器
以IDEA为例,将编码都修改为UTF-8
至此编码问题还没解决,最后一环就是浏览器解析HTML文件的编码格式
做项目的时候一直使用的Chrome,发现问题后我使用其他浏览器试了一下,发现没有问题
最后找到了问题在Chrome浏览器
解决问题
因为新版Chrome浏览器不支持更改网页编码,我们需要下载一个插件Charset,不能翻墙的小伙伴可以给我留言。
更改为UTF-8,最后问题解决