Blob文字セットを実際に変更することは可能ですか?私は何時間も試していますが、うまくいきません。 こちら をご覧ください。
jQuery("#download").click(function() {
var csv_content = jQuery("#csv").val(),
download = document.createElement("a"),
blob = new Blob([csv_content], { type: "text/csv;charset=ISO-8859-1" });
download.href = window.URL.createObjectURL(blob);
download.download = "test.csv";
var event = document.createEvent("MouseEvents");
event.initMouseEvent(
"click", true, false, window, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
download.dispatchEvent(event);
});
CSVをエクスポートしてExcelで開く必要がありますが、常にUTF-8で保存され、Excelで処理できません。
投稿する前に解決策を見つけました。
実際、文字セットの変更は解決されていません。ただし、ダウンロードプロセス用にUTF-8ヘッダーを送信したため、Excelはファイル形式を正しく理解できました。 ErikTöyräのこの回答のおかげ 。
blob = new Blob(["\ufeff", csv_content]);
あなたがcsvにいくつかのシンボルがあり、受け入れられた解決策が問題を解決していない場合。
blob = new Blob(["\ufeff", csv_content]);
for csv_content you can try like below.
function b64DecodeUnicode(str: any) {
return decodeURIComponent(atob(str).split('').map((c: any) => {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}