在实际开发中我们经常遇到request请求的中文乱码,那么如何解决中文乱码问题?
方法一:对请求参数进行编码转换
String userName=request.getParamter("userName");
userName=new String(userName.getByte("iso-8859-1"),"utf-8");
方法二:对请求头进行编码转换
request.setCharacterEncoding("UTF-8");
备注:该方法只对POST方式提交的数据有效,对GET方式提交的数据无效!
方法三:对tomcat服务器server.xml文件设置编码
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
只对get请求有效但是对于post请求没有用
SpringMVC控制器时可使用
<!-- Spring字符集过滤器 --> <filter> <filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>