Nodejs重定向url enconding

时间:2015-07-09 11:09:33

标签: node.js redirect encoding

我有一台使用nodejs进行网址重定向的服务器。我使用它来进行重定向: response.writeHead(302, {Location: url}); response.end();

这适用于像google.com这样的普通网址,但是当我有其他字符像西里尔字母时,如果我做了一个url ='ru.wikipedia.org / wiki /Путин,_Владимир_Владимирович'(使用https:// infront)然后重定向错误。在将字符串传递给重定向之前,我是否必须以某种方式对字符串进行重新编码?因为当我创建一个console.log(url)时,它会显示正确的url和cyrilic字母。

经过一些测试后,我设法看到使用node-icu-charset-detector加密的数据如下: ---- [通知] charset:ISO-8859-2 ---- [注意]重定向:https://ru.wikipedia.org/wiki/Путин,_Владимир_Владимирович

我在浏览器上显示的链接就像“https://ru.wikipedia.org/wiki/%1FCB8=,%12;048%3C8@%12;048%3C8@%3E28G

1 个答案:

答案 0 :(得分:0)

您可以对网址进行编码,因为HTTP标头值不支持utf-8编码值:

{{1}}