Java 传参导致的网页参数错误怎么办 求教图一产生部分文字乱码的具体原因

原因:Http请求传输时将url以ISO-8859-1编码服務器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)

方法一:我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然後再将其用utf-8解码成字符流

这是通过转码的方式处理乱码问题


方法二:我们也可以通过Tomcat配置文件设置URL编码集(URIEncoding)设置编码,这种方法也是┅劳永逸的

表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码在默认情况下,该参数为false

指定对所有GET方式请求进行统┅的重新编码(解码)的编码。

URIEncoding是对所有GET方式的请求的数据进行统一的重新编码

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

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

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

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

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

我要回帖

更多关于 什么叫传参 的文章

 

随机推荐