当我使用firefox时,我发现它会对地址栏中的中文字符进行编码,这使得它很难解码。
示例:
在js代码中,我对url进行了编码:
location.href="http://xxx/query.html?type="+encodingURI('中文');然后在地址栏中,firefox向我显示以下内容:
http://xxx/query.html?type=中文但是,如果我在地址中输入" enter“键,这意味着重新加载此页面,则地址将更改为
http://xxx/query.html?type=%D6%D0%CE%C4那么我就不能解码"=%D6%D0%CE%C4“。因为它不能使用
decodeURI('%D6%D0%CE%C4');事实上,encodeURI("中文")="%E4%B8%AD%E6%96%87"
我想知道firefox是怎么做的,以及如何解码参数?
发布于 2011-09-20 22:46:10
Firefox对我来说可不是这样的。当我按enter时,它不会对URL中的这些字符进行编码。
顺便说一下,中文的正确UTF8编码是%E4%B8%AD%E6%96%87。
encodeURIComponent("中文");
"%E4%B8%AD%E6%96%87"
decodeURIComponent("%E4%B8%AD%E6%96%87");
"中文"发布于 2011-09-20 22:30:03
它使用标准的url编码,你需要确保你有正确的doctype来显示这些字符,否则你会得到不满意的结果。
https://stackoverflow.com/questions/7486541
复制相似问题