搜尋

首頁  >  問答  >  主體

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

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

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

高洛峰高洛峰2782 天前589

全部回覆(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
  • 取消回覆