js url传值中文乱码的简单解决办法

发布时间:2020-10-20编辑:脚本学堂
js对url传递参数值时,使用js默认的字符集编码规则,容易造成中文乱码,需要把它转成属于与上下文一致的编码规格。有遇到类似问题的朋友,参考下本文的方法吧。

在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试,
1、方法一
js 代码:url=encodeURI(url);注意是整个URL
服务器端代码:
 

复制代码 代码示例:
String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");

2、方法二
js 代码:
 

复制代码 代码示例:
var url="name="+name;
url=encodeURI(encodeURI(url)); //用了2次encodeURI
window.location = "<%=path%>/inner/line/line.jsp?"+url;
 

服务器端代码:
 

复制代码 代码示例:
String linename = request.getParameter(name);
//java : 字符解码
linename = java.net.URLDecoder.decode(linename , "UTF-8");

解决这个问题的另类方法,请参考:js代码解决url传值出现中文乱码的方法参考