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

时间:2017-03-30 20:01:15

标签: node.js utf-8

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

我使用的代码是:

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

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

我知道SO上也有类似的问题,但没有人帮我... 你能以某种方式帮我解决问题吗?

谢谢! 法比奥

1 个答案:

答案 0 :(得分:1)

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

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