gpt4 book ai didi

javascript - Internet Explorer中的execCommand使用USC-2 Little endian编码保存csv文件,如何以UTF-8格式保存?

转载 作者:行者123 更新时间:2023-12-02 17:04:17 25 4
gpt4 key购买 nike

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 下载标签。

最佳答案

这里缺少了什么,我们需要明确说明什么是分隔符。在写入文档之前应添加以下行

csvText = 'sep=,\r\n' + csvText;

AndrewB - Convert HTML table to CSV in jQuery, 是列分隔符,\r\n 是行分隔符。另外,如果您使用 c/c++ 编写此内容,我们需要将\r\n 转义为\r\n 并根据上下文使用 ' 或 "

关于javascript - Internet Explorer中的execCommand使用USC-2 Little endian编码保存csv文件,如何以UTF-8格式保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25402011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com