- 今天用springMVC接收表单中文数据时总量乱码,按照网上的解决方案设置过滤器后,post的表单不乱码了,但get的表单还是会乱码。
解决get方法乱码的方案是修改tomcat的server.xml配置文件,修改<connector>如下,加入字符集编码:
<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
过滤器的代码如下:
<!-- Character Encoding filter --> <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> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
- 以上这样可以解决几乎所有的总量(注意是“几乎”),一些get方法还是没办法解决,如
<a href="test.jsp?key=中文" />
这里有个更好的解决办法就是配置tomcat的server.xml文件
<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
评论