最近使用springMVC过程中发现有中文乱码问题,post还比较容易解决,spring提供了 Flter 拦截器(一劳永逸的方式),主要还是get请求。
避免以后再遇到这种问题或者忘记了现记录下来。
1.首先说下post请求中文乱码处理方式:需要在web.xml文件中配置一下代码
<!-- 字符编码拦截器 注意:get请求无效-->
<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>
2.普通get请求的处理方式(有多重解决方法)
先说说最简单的 Tomcat8.0中已经解决中文乱码问题,所以不需要我们去改变任何代码。如果项目中可以使用Tomcat8.0 建议使用Tomcat8.0,这样能节省很多麻烦。
如果是 Tomcat7.0 就需要修改编码:
目前中文乱码的解决方式有很多种,相信度娘上都可以找得到。
3.ajax GET请求中文乱码问题:
@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")