【发布时间】:2014-08-20 10:06:01
【问题描述】:
execCommand 总是以 USC-2 little indian 格式保存 .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 下载标签。
【问题讨论】:
标签: javascript html csv utf-8 character-encoding