繁体   English   中英

如何在JavaScript中正确编码URL?

[英]how do I properly encode a URL in JavaScript?

我正在开发一个浏览器插件,它将当前页面的URL或任何选定的链接作为参数并将其发送到我们的服务器。 当网址中存在基本拉丁字母的字符时(如http://en.wikipedia.org/wiki/Vehicle ),插件工作正常。 但是,当URL包含来自另一个字母表的字符(例如http://ru.wikipedia.org/wiki/Коляска)插件不起作用时,我确实使用encodeURIComponent方法,但这似乎无法解决问题。 任何想法?

谢谢,

奥利维尔。

如果您尝试使用非ASCII字符的完整URI并将其转换为其编码形式,则可能需要使用encodeURI / decodeURI 这些保留了特殊的URI字符,例如:/ ,而不是转义它们; 它只会转义非ASCII字符和URI中无效的字符。 因此,它们与在地址栏中键入或在<a href="...">放置URI基本相同(尽管浏览器之间的行为可能有所不同,并且不完全相同)。

encodeURIComponent仅用于编码URI的单个组件,替换URI中有意义的特殊字符,以便您可以将该组件用作较长URI中的查询参数或路径组件。

这个说它涵盖了UTF-8。 http://www.webtoolkit.info/javascript-url-decode-encode.html 可能会解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM