我创建了一个小的.html来调用API并将结果下载到CSV。但是我的CSV包含Unicode编码不正确。
我尝试过包含“ \ uFEFF”,但没有取得积极的结果。
function downloadCSV(args) {
var data, filename, link;
var csv = convertArrayOfObjectsToCSV({
data: ObjectArray
});
if (csv == null) return;
filename = args.filename || 'export.csv';
if (!csv.match(/^data:text\/csv/i)) {
csv = 'data:text/csv;charset=utf-8,sep=,\n' + csv;
}
data = encodeURI(csv);
link = document.createElement('a');
link.setAttribute('href', data);
link.setAttribute('download', filename);
link.click();
}
如果我尝试console.log(data),它将从Unicode给我正确的字符。而且,如果我更改了Excel以unicode读取它。字符也是正确的。所以我需要以某种方式强迫我的excel以正确的方式打开文件。也许使用字节顺序掩码(BOM)-但我不确定如何。