搜索

首页  >  问答  >  正文

node.js - node 5.5 导出csv文件,文件名中文显示正确,内容中文乱码

node 5.5 导出csv文件,文件名中文显示正确,内容中文乱码

尝试使用 iconv-liteiconv.encode(str, 'GBK') 进行GBK编码不起作用。
求问如何解决啊~~

高洛峰高洛峰2778 天前585

全部回复(2)我来回复

  • 大家讲道理

    大家讲道理2017-04-17 15:33:20

    我这个可以,然后发现区别好像是iconv.decode?

         var result = [];
                var bin = fs.readFileSync(file);
                var data = iconv.decode(bin, 'gbk');
                data = data.replace(/\t/g, "");
                data = data.replace(/\"([^\"]*)\"/g, function (a) {
                    return a.replace(/,|"/g, "")
                })
                var lines = data.split("\r\n");
                for (let i in lines) {
                    var rows = lines[i].split(",");
                    for (let j in rows) {
                        rows[j] = rows[j].trim();
                    }
                    result.push(rows)
                }
                this.xlsxData = result;

    回复
    0
  • 黄舟

    黄舟2017-04-17 15:33:20

    我的解决办法是不进行GBK编码,直接输出utf-8,但是需要加BOM头。
    new Buffer('xEFxBBxBF','binary') + utf-8字符串

    回复
    0
  • 取消回复