日期:2014-05-20  浏览次数:20802 次

关于JS里面URL传值 乱码的问题
我在A页面通过document.location跳转到B页面 并且在url里面传了参数
然后在B页面利用<%request.getParamter('')%>接的值,参数值为中文时,用
String docpath = new String(request.getParameter("docpath").getBytes("ISO-8859-1"),"UTF-8");
可以转过来,但是如果参数值是中文+数字 就会出现乱码,求各位牛人指点迷津,乱码搞的我头都大了

------解决方案--------------------
url里面传了参数

js encodeURI(参数) 名字不对的话就是encodeURL
------解决方案--------------------
正则:
js转码
var regS = new RegExp('%',"gi");
var str=escape(参数);
str=str.replace(regS,'~');
接过来java再解码
str=CommonUtil.unescape(str.replaceAll("~", "%"));
------解决方案--------------------
//js 

url = encodeURI(url);
url = encodeURI(url);
document.location = url;
------解决方案--------------------
我现在也同样遇到这问题,lz,要是你先有解决办法了说下啊
------解决方案--------------------
encodeURI,加编码
------解决方案--------------------
学习中。。。谢谢
------解决方案--------------------
因为利用js传值用的是get方式。要用过滤器,或者在tomcat中配置。但只写方式都比较麻烦
我给个建议:用js提交from表单。着用就不会存在get方式出现乱码的问题了。