execCommand总是以USC-2小印度格式保存.csv文件,但我希望它采用UTF-8格式。此外,当我将文件名更改为.txt时,编码正确为UTF-8。如何为csv文件激活UTF-8编码?我确实尝试将字符集设置为UTF-8,但它没有用。
var oWin = window.open("about:blank", "_blank");
oWin.document.open("application/csv", "replace");
oWin.document.charset = "utf-8";
oWin.document.write(csvText);
oWin.document.close();
var success = oWin.document.execCommand('SaveAs', true, 'fileName.csv');
oWin.close();
alert(success);
使用适当的内容生成文件,但编码不是UTF-8,因此excel无法识别列,整行显示在单列中。
生成文件(fileNam.csv):
"Column One","Column Two","Column Three"
"row1 Col1","row1 Col2"
"row2 Col1","row2 Col2","row2 Col3"
"row3 Col1","row3 Col2","row3 Col3"
我想使用javascript并专门针对IE进行此操作。我知道对于其他浏览器,可以使用HTML5下载标记。
答案 0 :(得分:2)
以下是缺失的内容,我们需要明确说出什么是分隔符。在写入文件之前应添加以下行
csvText = 'sep=,\r\n' + csvText;
AndrewB - Convert HTML table to CSV in jQuery ,是列分隔符,\ r \ n是行分隔符。另外,如果你使用c / c ++编写它,我们需要将\ r \ n转义为\ r \ n并根据上下文使用'或'