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

新手上路,请多包涵

我需要将字符串从 Windows-1251 转换为 UTF-8。

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

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

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

原文由 user1125115 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 343
1 个回答

这是您的问题的有效解决方案。您必须先使用 Buffer 并将字符串转换为二进制。

 const Iconv = require('iconv').Iconv;

request({
    uri: website_url,
    method: 'GET',
    encoding: 'binary'
}, function (error, response, body) {

        const body = new Buffer(body, 'binary');
        conv = Iconv('windows-1251', 'utf8');
        body = conv.convert(body).toString();

});

原文由 sensor 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题