Javascript 角度下载csv文件国际字符
嗨,我正在根据我的angular web应用程序中的一些过滤数据生成一个CSV文件 我发送到csvString的输入是: Torup Bakkegård(Middelfartvej 105);库普·布伦比;(Holkebjergvej 54) 一旦我打开excel文件,输出总是会被破坏: TorubakkegÃ¥路(Middelfartvej105)库珀布尔¸恩比(Holkebjergvej54) 然而,当我用记事本打开它时,一切正常,所以似乎是MS Excel(使用最新版本)破坏了它。 托鲁巴克路(Middelfartvej105);CoopBrøndby(Holkebjergvej54) 我尝试了几种编码,似乎excel根本不在乎 下面是javascript代码:Javascript 角度下载csv文件国际字符,javascript,angularjs,excel,csv,url-encoding,Javascript,Angularjs,Excel,Csv,Url Encoding,嗨,我正在根据我的angular web应用程序中的一些过滤数据生成一个CSV文件 我发送到csvString的输入是: Torup Bakkegård(Middelfartvej 105);库普·布伦比;(Holkebjergvej 54) 一旦我打开excel文件,输出总是会被破坏: TorubakkegÃ¥路(Middelfartvej105)库珀布尔¸恩比(Holkebjergvej54) 然而,当我用记事本打开它时,一切正常,所以似乎是MS Excel(使用最新版本)破坏了它。 托鲁巴
vm.downloadExcel = function (bookings) {
var csvRows = [];
var csvHeading = "Afhentningsadresse;Modtager";
csvRows.push(csvHeading + "\n");
for (var i = 0; i < bookings.length; i++) {
var csvRow = "";
csvRow += bookings[i].pickupAddress + ";";
csvRow += bookings[i].customerAddress + ";";
csvRows.push(csvRow + "\n");
}
var csvString = csvRows.join("%0A");
var a = document.createElement('a');
a.href = 'data:application/csv;charset=Windows-1252,' + csvString;
a.target = '_blank';
a.download = 'myFile.csv';
console.log(a.href);
document.body.appendChild(a);
a.click();
vm.downloadExcel=函数(预订){
var csvRows=[];
var csvHeading=“afhentningsaddress;Modtager”;
csvRows.push(csvHeading+“\n”);
对于(变量i=0;i
经过一番研究,我们发现我们没有提到BOM表
BOM表负责实际文件中的编码。
因此,在改变之后:
a.href = 'data:application/csv;charset=Windows-1252,' + csvString;
与:
一切正常
感谢:GergőNagy回答:
a.href = 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURI(csvString);