在Node.js中从Windows-1251转换为UTF-8

我需要将string从Windows-1251转换为UTF-8。

我试图用iconv做到这一点,但我得到的是这样的:

пїЅїЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅЅ

var iconv = new Iconv('windows-1251', 'utf-8') title = iconv.convert(title).toString('utf-8') 

这是您的问题的工作解决scheme。 您必须使用缓冲区,并将您的string转换为二进制第一。

 request({ uri: website_url, method: 'GET', encoding: 'binary' }, function (error, response, body) { body = new Buffer(body, 'binary'); conv = new iconv.Iconv('windows-1251', 'utf8'); body = conv.convert(body).toString(); } }); 

如果我正确读取文档,则不必在结果上调用toString。 .convert应该足够了: https : //github.com/bnoordhuis/node-iconv

 var iconv = new Iconv('windows-1251', 'utf-8') title = iconv.convert(title)