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

标签 javascript node.js

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

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

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

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

最佳答案

这是解决您问题的有效方法。您必须先使用 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();

});

关于javascript - 在 Node.js 中从 Windows-1251 转换为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8693400/

相关文章:

javascript - 如何在未知数量的元素之间设置延迟的 CSS 动画

javascript - 鼠标悬停时手提钻不会改变

Javascript - 迭代中未定义的数组

node.js - 在famo.us 上运行着名的开发人员时出错

node.js - Laravel 中的 npm run watch 和 npm run hot 有什么区别?

javascript - 使用 javascript 将样式应用于某些列表项

javascript - JS 函数在窗口中不起作用

javascript - 动态 Accordion 很有趣。所有其他元素都被视为内容,并且内容未被解析。为什么?

node.js - 如何为托管的 Swagger API 生成实时 Swagger API 页面?

javascript - REST Api 返回验证码