Js通过url传参中文乱码解决方案


escape 和 unescape

//跳转页
location.href = './test.html?'+escape('name=张三&age=18')
 
//接收页
var str = unescape(location.search.substr(1));
 
//url显示
'test.html?name%3D%u5F20%u4E09%26age%3D18'

注意:使用此方法时,不能对整个url进行编码,仅可对传参进行编码,因为会对 “?”等进行编码,导致路径错误,所以一般不用该方法。

encodeURI 和 decodeURI

//跳转页
location.href = encodeURI('./test.html?name=张三&age=18');
 
//接收页
var str = decodeURI(location.search.substr(1));
 
//url显示
'test.html?name=张三&age=18'

encodeURIComponent 和 decodeURIComponent

//跳转页
location.href = './test.html?'+encodeURIComponent('name=张三&age=18');
 
//接收页
var str = decodeURIComponent(location.search.substr(1));
 
//url显示
'test.html?name%3D张三%26age%3D18'

注意:使用此方法时,不能对整个url进行编码,仅可对传参进行编码,因为会对 “?”等进行编码,导致路径错误,所以一般不用该方法。

声明:Jensonhui's blog|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Js通过url传参中文乱码解决方案


Just do it.