node.js - 如何在node.js中从readfile缓冲区将ISO-8859-1转换为UTF-8

标签 node.js utf-8

根据标题,我正在尝试解析以 ISO-8859-1 编码的 txt 以将数据放入数据库中。我确实需要先将这些数据转换为UTF-8。这是因为一些特殊字符,特别是大写重音字符,在数据库和前端中显示为问号。

我使用的代码是:

this.fs.readFile(fileName, null, function(err, buff){
                    if (err) {
                        self.openFiles();
                    } else {

                        var data = buff.toString('UTF-8');
                        self.parseNews(data, fileName);                             
                    }
                });

我知道SO上也有类似的问题,但没有一个对我有帮助...... 您能以某种方式帮助我或找到解决方案吗?

谢谢! 法比奥

最佳答案

您需要指定输入编码。假设 this.fs.readFilefs.readFile 相同:

this.fs.readFile(fileName, { encoding : 'latin1' }, function(err, buff) {
  ...
  var data = buff.toString(); // no need to specify encoding here
});

关于node.js - 如何在node.js中从readfile缓冲区将ISO-8859-1转换为UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127290/

相关文章:

node.js - React/Vue(或任何其他类似框架)MPA 实现

javascript - 通过我的 api 发送数据不起作用

java - 从 UTF-16 格式的文件中读取一行

unicode - 网站上的UTF-7?

javascript - 根据条件复选框将字段添加到架构

node.js - sequelize 集成到 hapi

javascript - Node.js:如何跟踪我的 API 使用情况?

unicode - 在 vbscript 文件中输入双字节字符

c - 如何用(可读的)UTF8 字符写入文件?

c++ - C++0x 是否支持 std::wstring 与 UTF-8 字节序列的转换?