最近在用Nodejs访问含有中文的文件,在以utf8编码读取后,再转为gbk,总是乱码,在网上搜了一圈才解决,现分享给大家。
说白了就一句话,先以二进制编码读入,再进行转换。
var fs = require('fs');
var iconv = require('iconv-lite');
var file_name = "/tmp/0820_0824.csv";
fs.readFile(file_name,{encoding:'binary'}, function(err, data){
if (err) throw err;
var str = iconv.decode(data, 'gbk');
console.log(str);
})