js获取url中的参数乱码
问题描述:
我的url为:test.jsp?lastname=杨涛
js是这么写的
window.onload=function(){
alert(GetQueryString("lastname"));
}
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]);
return null;}
得到的结果:
怎么让他正确显示中文“杨涛”
答
方法一:在顶部加
<%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
%>
方法二:把方法一的写在过滤器里面filter,然后再web.xml里面配置
方法三:
<%=new String(request.getParameter("lastname").getBytes("ISO-8859-1"),"UTF-8")%>
答
传递到服务器的时候编码应该是默认ISO-8859-1,取的时候解码方式要对应
答
在url拼接的时候把中文编码一下,然后在使用的时候解码
答
前后台都设置一下编码的格式