2015-10-07

Javascript FileSaver.js 匯出csv檔案,中文出現亂碼

利用JavaScript套件FileSaver.js匯出資料成csv檔案的時候,如果匯出的資料是中文時,如下面JavaScript程式要匯出中文的[高雄,台北]


var csvContentEncoded = "高雄,台北";
var blob = new Blob([csvContentEncoded], {type: 'text/csv;'});
saveAs(blob, 'some-data.csv');

匯出檔案some-data.csv後,由Excel開啟會出現亂碼

在網路找了一下解法,在Download BLOB content using specified charset中找到了一個方法,將程式更改如下

var csvContentEncoded = "高雄,台北";
var blob = new Blob(["\ufeff",csvContentEncoded], {type: 'text/csv;'});
saveAs(blob, 'some-data.csv');

由Excel開啟some-data.csv,即可正常顯示中文

No comments: