关于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;
}
posted @ 2017-10-23 13:04  红色沙漠  阅读(15047)  评论(2编辑  收藏  举报