1、POST 乱码解决
<filter>
<filter-name>CharacterEncoding</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>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
2、Get乱码解决
tomcat对GET、POST处理方式不同,要处理GET请求的中文乱码问题,需修改tomcat配置文件server.xml。
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
改为:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
3、Ajax 乱码解决
在上面第2点配置中增加useBodyEncodingForURI="true",解决Get请求中文乱码问题,但对于Ajax的Get请求中文依然乱码,需把useBodyEncodingForURI="true"修改为URIEncoding="UTF-8"。
4、中文乱码解决宗旨
保证所有请求协议URL编码(UTF-8)一致,保证所有接收处理请求应用、服务器、环境编码(UTF-8)一致。