如何将数据转换为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');
?
- http.get和ISO-8859-1编码响应
- 接收和解释hex数据时发生内容types为application / octet-stream错误
- TFS(内部部署)编译输出显示错误的字符编码
- 如何在nodejs javascript中使用nodejs-iconv模块(或其他解决scheme)将字符编码从CP932转换为UTF-8,
- 使用节点请求模块的UTF8字符编码
- 缓冲区toString('utf8')从Firebird中select后返回
- 如何处理包含非utf8字符的GET参数?
- 将非ASCII字符(变音符号,重音符号)转换为最接近的ASCII码(创build子弹)
- 带有socket.io的nodejs中的UTF-8