js获取url中有中文,控制台获取到时候出现乱码

yifon 发布于 2016/06/22 00:08
阅读 1K+
收藏 1

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

试图在控制台中用window.location.href获取url,然后再用window.location.search获取参数。但发现中文部分输出都是乱码,请问应该如何解决呢?

//118.请写一个函数getParameters()来获取浏览器地址栏url全部参数,并返回一个JSON串。
function getParameters(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&])*(&|$)");
    var str = window.location.search.substr(1).match(reg);
    console.log(window.location.href);
    console.log(window.location.search);
    console.log(window.location.search.substr(1));
    console.log(window.location.search.substr(1).match(reg));
    if (str != null)
        return unescape(str[2]);
    else return null;
}



控制台:


加载中
3
春眠不觉晓
春眠不觉晓

(1)那不是乱码,是URI必定会这样编码后再传输的。使用`decodeURI`解析下获得的字符串吧。

(2)可以去看下`encodeURI`的解释

0
b
beastxiao
java后台URLDecoder.decode(str)就行了
0
Cobbage
Cobbage
encode编码了decode解码就行了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部