我正在开发一个浏览器插件,它将当前页面的 URL 或任何选定的链接作为参数并将其发送到我们的服务器。当 url 中出现基本拉丁字母的字符时(如http://en.wikipedia.org/wiki/Vehicle),该插件可以正常工作。但是,当 URL 包含来自其他字母的字符(例如http://ru.wikipedia.org/wiki/Коляска )时,插件不起作用,我确实使用了该encodeURIComponent
方法,但这似乎并不能解决问题。任何的想法?
谢谢,
奥利维尔。
我正在开发一个浏览器插件,它将当前页面的 URL 或任何选定的链接作为参数并将其发送到我们的服务器。当 url 中出现基本拉丁字母的字符时(如http://en.wikipedia.org/wiki/Vehicle),该插件可以正常工作。但是,当 URL 包含来自其他字母的字符(例如http://ru.wikipedia.org/wiki/Коляска )时,插件不起作用,我确实使用了该encodeURIComponent
方法,但这似乎并不能解决问题。任何的想法?
谢谢,
奥利维尔。
如果您尝试获取包含非 ASCII 字符的完整 URI 并将其转换为其编码形式,您可能想要使用encodeURI
/ 。decodeURI
这些保留特殊的 URI 字符,例如:
and /
,而不是转义它们;它只转义非 ASCII 字符和 URI 中无效的字符。因此,它们的作用与在地址栏中键入或将 URI 放入基本相同<a href="...">
(尽管行为在浏览器之间可能有所不同,并且并不完全相同)。
encodeURIComponent
旨在仅对 URI 的单个组件进行编码,替换 URI 中有意义的特殊字符,以便您可以将该组件用作较长 URI 中的查询参数或路径组件。
这个说它涵盖了UTF-8。http://www.webtoolkit.info/javascript-url-decode-encode.html。可能解决你的问题