springMVC中文乱码问题


最近使用springMVC过程中发现有中文乱码问题,post还比较容易解决,spring提供了  Flter 拦截器(一劳永逸的方式),主要还是get请求。

避免以后再遇到这种问题或者忘记了现记录下来。

1.首先说下post请求中文乱码处理方式:需要在web.xml文件中配置一下代码


  <filter>
      <filter-name>CharacterEncodingFilterfilter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
      <init-param>
          <param-name>encodingparam-name>
          <param-value>UTF-8param-value>
      init-param>
      <init-param>
          <param-name>forceRequestEncodingparam-name>
          <param-value>trueparam-value>
      init-param>
      <init-param>
          <param-name>forceResponseEncodingparam-name>
          <param-value>trueparam-value>
      init-param>
  filter>
 
  <filter-mapping>
      <filter-name>CharacterEncodingFilterfilter-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")