Javascript 导出可使用多字节字符编辑的csv

Javascript 导出可使用多字节字符编辑的csv,javascript,csv,unicode,Javascript,Csv,Unicode,我们正在导出包含一行标题的csv模板,如下所示: HEADER 1, HEADER 2, HEADER 3 然后,用户填写内容并保存csv。但是,如果你在Excel中打开它,99.99%的用户都会这样做,将汉字保存为内容,然后重新打开,它会返回??或者。有一个修复程序强制用户将其保存为Unicode txt。然而,我们不想给人们特别的指示,让他们尽可能容易。这是我们当前导出模板的代码。但是,它不会在重新保存时保留字符: var blob = new Blob([ csvContent ],{e

我们正在导出包含一行标题的csv模板,如下所示:

HEADER 1, HEADER 2, HEADER 3
然后,用户填写内容并保存csv。但是,如果你在Excel中打开它,99.99%的用户都会这样做,将汉字保存为内容,然后重新打开,它会返回??或者。有一个修复程序强制用户将其保存为Unicode txt。然而,我们不想给人们特别的指示,让他们尽可能容易。这是我们当前导出模板的代码。但是,它不会在重新保存时保留字符:

var blob = new Blob([ csvContent ],{encoding:"UTF-8",type:"text/plain;charset=UTF-8"});
var needsClick = true;

if (window.webkitURL) { // CHROME
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("click", null, null);

    $("<a>", {
        download : filename,
        href : webkitURL.createObjectURL(blob)
    }).get(0).dispatchEvent(evt);

} else {

    if (document.createEvent) { // FIREFOX
        var link = document.createElement("a");
        link.setAttribute("href", encodeURI("data:text/csv;charset=utf-8,"
                + csvContent));
        link.setAttribute("download", filename);
        var e = document.createEvent('MouseEvents');
        e.initEvent('click', true, true);
        needsClick = link.dispatchEvent(e);
    }

    if (needsClick) { // IE
        window.navigator.msSaveBlob(blob, filename);
    }
}

CSV文件最初是否包含非ASCII字符?另外,由于Excel是Microsoft的软件,您是否尝试过在文件中手动添加UTF-8 BOM?否,它不会包含非ascii字符。你说的预告是什么意思?我们正在使用csv格式的字符串创建文件。我是不是只是预先准备好了?如果我用var csvContent=\uFEFF+headers;,启动它;,它只是在第一行的第一个单元格中添加了?行,看来Excel无法处理这个问题。我发现了一个类似的问题:不幸的是,谷歌文档的方法不起作用。我们正试图避免干扰他们如何通过我们的工具重新设计完成日常工作,他们严重依赖Excel。