请求中文乱码的问题解决总结

导致中文乱码的原因有多种多样,下面一一列举解决方法:
1.试着修改tomcat 配置server.xml。例如下面这种:
   <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>这两个端口都加上URIEncoding

2.若有jsp文件,需要在页面中添加:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>


3.在web.xml文件中添加过滤器:
<filter>
<filter-name>encodingFilter</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>

这个过滤器正对post方法 get方法不会进行过滤。这样所有的页面post请求都会被过滤。不用每次请求都去写一个编码转换。

4.后台代码中添加对请求参数的编码转换:
request.getParameter("").getBytes("iso-8859-1","gb2312");

猜你喜欢

转载自lihuifen2014.iteye.com/blog/2246470