关于window.location.href 传中文参数 乱码问题


传中文查询乱码问题 则需要对要传的参数进行二次编码

例如  window.location.href ="/xx.jsp?name="+name+""; 

这样子则会乱码

改成

window.location.href ="/xx.jsp?name="+  encodeURI(encodeURI(name))+""; 

 

在接受的jsp页面 或者是controller 中进行解码

String name = java.net.URLDecoder.decode(request.getParameter("name"), "utf-8");

 在js中解码的话是这样的,


var dataName = decodeURI(GetQueryString("name"), "utf-8");

这样子即解决在用 window.location.href  传中文的乱码问题

 

这里写到了个取url中参数的函数顺便记录下!

function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM