本文介绍了NodeJS decodeURIComponent无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试使用decodeURLCompnent解码下面的字符串:

When I tryed to decode the string below in nodeJS using decodeURLCompnent:

var decoded = decodeURI('Ulysses%20Guimar%C3%A3es%20-%20lado%20par');
console.log(decoded);

我得到

Ulysses Guimarães - lado par

而不是

Avenida Ulysses Guimarães - lado par 

但是当我在客户端(浏览器)上使用相同的代码时,我可以得到正确的字符'ã'。

But when I use the same code on the client side (browser) I can get the right char 'ã'.

>

推荐答案

我无法重现它在节点的0.10或0.11版本中。

I cannot reproduce it in 0.10 or 0.11 versions of node.

您可以使用 new Buffer('UlyssesGuimarães - lado par'二进制')。toString('utf8'),但它是一个解决方法,而不是解决方案。

You can convert first to second using new Buffer('Ulysses Guimarães - lado par', 'binary').toString('utf8'), but it's a workaround, not a solution.

,不退出?

这篇关于NodeJS decodeURIComponent无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 05:34