解决IE下URL传参中文乱码的问题

昨天上线后发现一个奇怪的问题,就是在IE的地址栏中输入带中文的参数,传到JAVA端后是乱码,但是在谷歌等浏览器中却没有此问题,导致运营人员配置的链接地址带中文,无法正确跳转我们的SEARCH页。

最后的解决方案是:

1、将跳转链接放在页面的节点中,用window.open跳转。

2、在tomcat的server.xml中设置编码格式为UTF-8。

3、在启动start.sh脚本中添加一句:

export LANG=zh_CN.UTF-8


完美解决,无需在JAVA端转码了!!!



另外,又发现了最正确的解决方法,就是encodeURI() 函数,只需在带有中文的链接用该函数即可,其他地址无需解码即可使用。

注意:

encodeURI() 函数和encodeURIComponent()函数的区别:前者只对中文部分转码,后者对特殊字符也会转码。


你可能感兴趣的:(JAVA)