【发布时间】:2015-10-20 19:25:48
【问题描述】:
它适用于节点 0.10 的 iconv-lite。但现在有了
$ node -v
v4.1.1
I can't use iconv-lite with the latest node version。所以我试图回到 Iconv:
var Iconv = require('iconv').Iconv;
...
request(url, {
uri: url,
method: 'GET'}, function (err, resp, body) {
var ic = new Iconv('ISO-8859-1', 'utf-8');
var buf = ic.convert(body);
body = buf.toString('utf-8');
但这导致�ber应该是Über。
我不知道如何解决这个问题。欢迎任何提示。
【问题讨论】:
-
我没有解决方案,但我认为您可以重用 Iconv 实例,而不是一遍又一遍地为每个请求创建它。
-
在doc 中始终是
UTF-8(与您使用的utf-8相比)。你检查过吗? -
1.当然,这只是测试设置,2. 改为 UTF-8 但同样的问题
-
请试试这个:
var buf = ic.convert(Buffer(body,'binary')); -
嘿@ɦassansin这会导致'ýber'而不是Über
标签: node.js encoding request iso-8859-1