window.location 中的百分比编码

kri*_*rak 5 javascript url window.location percent-encoding

当我使用 window.location 打开带有特殊字符的 url 时,它似乎对特殊字符进行百分比编码,然后打开该 URL。例如

var url = "http://gramfeed.com/instagram/tags/kühl";
window.location = url;
Run Code Online (Sandbox Code Playgroud)

这将导致打开一个带有 URL 的页面:

http://gramfeed.com/instagram/tags/k%C3%BChl
Run Code Online (Sandbox Code Playgroud)

代替:

http://gramfeed.com/instagram/tags/kühl
Run Code Online (Sandbox Code Playgroud)

如何在没有百分比编码字符的情况下正确打开 URL

这是一个使用代码的 jsfiddle:http : //jsfiddle.net/krisrak/aSkMR/

Yur*_*ter 3

我不认为问题出在 windows.location 和你的 JavaScript 上。问题在于 gramfeed.com 如何解释标签。在您的代码中尝试一下:

\n\n
var url = "https://www.google.com/search?q=k\xc3\xbchl"\nwindow.location = url;\n
Run Code Online (Sandbox Code Playgroud)\n\n

确保特殊字符保持不变。

\n\n

现在尝试输入http://gramfeed.com/instagram/tags/k\xc3\xbchl直接在浏览器地址栏中输入 - URL 会被转换。

\n