如何将数据转换为utf-8在node.js?

我用express来使用node.js。 我用Mongoose从MongoDB中读取数据,并用res.send(data)以正常的方式传递它。 不幸的是,一些请求交付失败。 即使如此,头文件说编码是utf-8,在某些情况下它似乎是ANSI,导致jsonpcallback函数失败并出现错误。

您可以在此页面重现错误: http : //like-my-style.com/# ! single/9837034 。 jsonp调用仅在某些产品上失败,其中大部分(也是具有特殊字符的)工作正常。

我怎样才能确保给定的string编码utf-8在node.js?

你有没有尝试过:

 res.send(data.toString("utf8")); 

确保你的数据是utf8而不是Buffer。

我想我陷入了一个类似的问题,neebz的解决scheme工作,但我必须把它放在正确的位置。

 var req = http.request(options, function(res) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); **res.setEncoding(encoding='utf8');** res.on('data', function(d) { console.log(d); }); }); 

在node.js文档中logging为request.setEncoding(),这可能是一个错误,因为它需要在请求创build的res对象上调用。

你是否设置了编码types?

res.setEncoding('utf8');