Tomcat,SpringMVC 中文乱码问题解决

GET 协议提交的中文乱码:

URL参数,是在tomcat层面进行解析的,需要设置uriencoding参数为utf-8.

找到server.xml文件(一般在/etc/tomcat6/server.xml),修改为:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="utf-8"/>

PS:如果你用apache通过AJP协议代理过来,同样需要修改AJP的配置为utf,见上面例子。

POST 协议提交的中文乱码:

如果数据是POST过来的,则解码工作由SpringMVC的代码处理。

找到你项目的web.xml文件,设定解码器参数,一般可以为:

<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>    
原文地址:https://www.cnblogs.com/jdragonhu/p/3911950.html