firefox如何对地址栏中的url进行编码
当我使用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 是如何做的以及如何解码参数?
When I use the firefox,I found that it will encoding the Chinese characters in the address bar,which make it difficult for decode .
Exemaple:
In the js code,I have encoding the url:
location.href="http://xxx/query.html?type="+encodingURI('中文');
Then in the address bar,the firefox show me this:
http://xxx/query.html?type=中文
but,if I enter the "Enter" key in the address,which means reload this page,then the address will be changed to
http://xxx/query.html?type=%D6%D0%CE%C4
Then I can not decode the "=%D6%D0%CE%C4". Since it can not be decoded using
decodeURI('%D6%D0%CE%C4');
In fact the encodeURI("中文")="%E4%B8%AD%E6%96%87"
I wonder how does firefox do and how to decode the parameter?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Firefox 对我来说不是这样的。当我按 Enter 键时,它不会对 URL 中的这些字符进行编码。
顺便说一句,
中文
正确的UTF-8编码是%E4%B8%AD%E6%96%87
。例如:http://google.com?q=中文。
Firefox doesn't behave that way for me. It's not encoding those characters in the URL when I hit enter.
By the way, the correct UTF-8 encoding of
中文
is%E4%B8%AD%E6%96%87
.For example: http://google.com?q=中文.
它使用标准的 url 编码,您需要确保有正确的文档类型来显示这些字符,否则您将得到不令人满意的结果。
It's using standard url encoding, you need to make sure you have the correct doctype to display those characters, otherwise you will get unsatisfactory results.