开发中发现页面传中文字符会发生乱码,有效的方法就是进行编码传值,接收后解码。
传值页面:
var name = "测试";
window.open("index1.aspx?name=" + encodeURI(encodeURI(name)));
接收页面:
var name = decodeURI(getUrlParam("name"));
function getUrlParam(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;
};
说明
encodeURI() 函数可把字符串作为 URI 进行编码,decodeURI()进行解码。对中文需要进行两次编码才能解决乱码问题。