首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJS decodeURIComponent工作不正常

NodeJS decodeURIComponent工作不正常
EN

Stack Overflow用户
提问于 2014-02-07 20:56:33
回答 3查看 26.4K关注 0票数 4

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

代码语言:javascript
复制
var decoded = decodeURI('Ulysses%20Guimar%C3%A3es%20-%20lado%20par');
console.log(decoded);

我得到了

代码语言:javascript
复制
Ulysses Guimarães - lado par

而不是

代码语言:javascript
复制
Avenida Ulysses Guimarães - lado par 

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

是否有一种方法可以在节点脚本中从圣保罗转换为?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-08 00:30:40

我不能在节点的0.10或0.11版本中复制它。

您可以使用new Buffer('Ulysses Guimarães - lado par', 'binary').toString('utf8')进行第一到第二次转换,但这是一种解决方案,而不是解决方案。

你确定你是给decodeURI打电话,不是逃跑吗?

票数 7
EN

Stack Overflow用户

发布于 2018-05-14 20:57:41

使用var querystring = require("querystring");

querystring.unescape()方法在给定的str上执行URL百分比编码字符的解码。

然后按照docs的方式进行querystring.unescape(str)

str

票数 4
EN

Stack Overflow用户

发布于 2015-09-22 07:22:15

我把这个留在这里,因为我也有同样的问题。我在客户端和Nodejs中使用encodeURIcomponent(str)函数时,decodeURI(str)也遇到了同样的问题。我在客户端使用encodeURI(str)解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21637604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档