gpt4 book ai didi

javascript - 向用户下载 UTF-8-sig csv 文件

转载 作者:行者123 更新时间:2023-12-02 21:27:52 26 4
gpt4 key购买 nike

我将 content_typeto_csv encoding 设置为 utf_8_sig

response = HttpResponse(content_type='text/csv;charset=utf_8_sig')
response['Content-Disposition'] = 'attachment; filename=somefilename.csv'

df.to_csv(path_or_buf=response,sep=',',float_format='%.2f',index=False,decimal=",",encoding='utf_8_sig')

然后,

在 JavaScript 中将 csv 发送给用户

//ajax response
DownlodCsv(response);


const DownloadCsv = (function() {
const a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function(data, fileName) {
const blob = new Blob([data], {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};
}());

但是它仍然是utf-8而不是utf-8-sig(因为我无法用excel打开它)

有什么地方需要检查吗???

最佳答案

我是这样解决的。

只需在 Javascript 中添加 bom。

return function(data, fileName) {
let bom = new Uint8Array([0xEF, 0xBB, 0xBF]); // add here
const blob = new Blob([bom,data], {type: "octet/stream"}), // add bom
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};

关于javascript - 向用户下载 UTF-8-sig csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60692108/

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