post: 在web.xml中加入:
<filter> <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern>
get:
以上可以解决post 请求乱码问题。对于get 请求中文参数出现乱码解决方法有两个:
修改tomcat 配置文件添加编码与工程编码一致,如下:
-
<ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
另外一种方法对参数进行重新编码:
-
String userName = new `String ( request . getParamter ( "userName" ). getBytes ( "ISO8859-1" ), "utf-8" )
ISO8859-1 是tomcat 默认编码,需要将tomcat 编码后的内容按utf-8 编码