您的位置:首页 > 编程语言 > Java开发

springMVC编码过滤器只对post方法有效的解决方法

2017-04-05 18:01 281 查看
今天跟android调乱码的问题,服务端已经用了springMVC的编码过滤器,android也在http请求头里设置了Content-type为:
application/x-www-form-urlencoded; charset=utf-8,最诡异的是在连接线上的服务器,中文不会乱码,连接本地的中文就是乱码,代码、配置都是一样的。

最后发现android用的是get请求,springMVC的编码过滤器只对post方法起效,所以对拿到的中文就是乱码了。那么问题来了,线上的怎么就没问题?后来查资料发现是tomcat中有玄机。

在tomcat的server.xml文件里指定 URIEncoding="utf-8" ,这样,get方法也会用utf-8解码,这样就彻底解决了乱码的问题。
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="utf-8" connectionTimeout="20000" redirectPort="8443" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息