首页 > 代码库 > Tomcat,SpringMVC 中文乱码问题解决

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>