今天搭建项目时,使用SpringMVC从页面传参到后台,获取到的中文参数乱码。
解决方法:
1、检查所有页面编码是UTF-8格式。
2、查看是否在web.xml文件中配置编码过滤器,配置如下:
<filter>
<filter-name>CharacterEncodingFilter</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>
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、如果还是乱码,打开tomcat配置文件server.xml,在如下配置中添加URIEncoding="UTF-8"。
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改完后,项目要重新加载tomcat。