从一个带有重音的文本文件中我想把它变成一个。csv文件,我们可以下载
let data = decodeURI('a;b;é;É');
this.download(data, 'test.csv', 'data:text/csv;charset=utf-8');
这里的代码下载:
download(content, fileName, mimeType): boolean {
const a = document.createElement('a');
mimeType = mimeType || 'application/octet-stream;charset=UTF-8';
a.href = 'data:' + mimeType + ',' + encodeURIComponent(content);
a.setAttribute('download', fileName);
document.body.appendChild(a);
setTimeout(() => {
a.click();
document.body.removeChild(a);
}, 66);
return true;
}
我在excel中有奇怪的口音:
test.csv
a b é É
如何解决这个问题?
将'ufeff'
前置到数据let data = 'ufeff'+decodeURI('a;b;é;É');
,查看UTF与BOMhttps://en.wikipedia.org/wiki/Byte_order_mark