当我尝试在nodeJS中使用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 但是,当我在客户端(浏览器)上使用相同的代码时,我可以得到正确的字符‘’。
是否有一种方法可以在节点脚本中从圣保罗转换为?
发布于 2014-02-08 00:30:40
我不能在节点的0.10或0.11版本中复制它。
您可以使用new Buffer('Ulysses Guimarães - lado par', 'binary').toString('utf8')进行第一到第二次转换,但这是一种解决方案,而不是解决方案。
你确定你是给decodeURI打电话,不是逃跑吗?
发布于 2018-05-14 20:57:41
使用var querystring = require("querystring");
querystring.unescape()方法在给定的str上执行URL百分比编码字符的解码。
然后按照docs的方式进行querystring.unescape(str):
发布于 2015-09-22 07:22:15
我把这个留在这里,因为我也有同样的问题。我在客户端和Nodejs中使用encodeURIcomponent(str)函数时,decodeURI(str)也遇到了同样的问题。我在客户端使用encodeURI(str)解决了这个问题。
https://stackoverflow.com/questions/21637604
复制相似问题