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>    

 

你可能感兴趣的:(springMVC)