前台传中文到后台Controller乱码问题的解决

JS传中文参数到Controller的时候出现了乱码。

查看了web.xml中的CharacterEncodingFilter配置没有问题。

而且在测试环境上跑的时候功能正常但是在开发环境却有问题。尝试了在代码中添加:

request.setCharacterEncoding(“xxxx”)之类的方法也不可行。

但是

new String(name.getBytes("ISO-8859-1"),"UTF-8");

可行。

查了一些资料后了解到Tomcat对于post和get的处理方式不同。

所以过滤器和request.setCharacterEncoding(“xxxx”)之类的方法对POST方法可行,但是对GET方法没有作用。

所以想要解决这个问题要修改Tomcat的配置文件server.xml

找到<Connector connectionTimeout=”20000″ port=”8080″> 这段信息

然后再最后加上 URIEncoding=”UTF-8″ 即可。

总结:

post方法受过滤器以及setCharacterEncoding方法的限制,但是get方法不受,所以要修改get方式的乱码问题,要从tomcat的配置文件入手解决。

以上,愚见。

    原文作者:vipwhr
    原文地址: https://segmentfault.com/a/1190000007247468
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞