【发布时间】:2015-11-29 07:11:09
【问题描述】:
我有一个 utf-16 编码的 csv 文件,需要将其编码更改为 utf8 并将其转换为 JSON。我正在使用csvtojson 和iconv-lite 模块。这是我的代码:
var data = fs.createReadStream("myfile.csv");
data.pipe(iconv.decodeStream('utf16'))
.pipe(iconv.encodeStream('utf8'))
.pipe(fs.createWriteStream("encoded.csv"));
var Converter = require("csvtojson").Converter;
var csvStr = fs.readFileSync("encoded.csv").toString();
var converter = new Converter({});
converter.fromString(csvStr, function(err, jsonObj) {
if (err) {
handleError(err)
}
console.log(jsonObj)
});
问题是iconv用正确的编码转换了csv文件,但是当我读取这个文件并调用toString()方法时,它返回一个空字符串。我该如何解决这个问题?
【问题讨论】: