CSVダウンロード処理をJavaScriptで作成しています。
CSVを落としてくるDBのデータには、特殊文字がエスケープされた状態で入っており、
そのままCSVダウンロードすると、エスケープされた状態で落ちてきます。
これをダウンロード処理の際に、エスケープを戻した状態で落としてきたいと思っています。
どのような処理を記述すればよいかわからずいき詰まっております。お力添えをいただけますと幸いです。
例)
' & è
↓↓
' & è
JavaScript
function str_to_unicode_array( str ){ var arr = []; for( var i = 0; i < str.length; i ++ ){ arr.push( str.charCodeAt( i ) ); } return arr; }; function handleDownload() { var utf8String = '' & è'; var unicode_array = str_to_unicode_array(utf8String); var sjisString = Encoding.convert(unicode_array, { from: 'UNICODE', to: 'SJIS' }); var uint8Array = new Uint8Array(sjisString); var blob = new Blob([ uint8Array ], { "type" : "text/csv" }); if (window.navigator.msSaveBlob) { window.navigator.msSaveBlob(blob, "result.csv"); window.navigator.msSaveOrOpenBlob(blob, "result.csv"); } else if (window.URL && window.URL.createObjectURL) { // for Firefox document.getElementById("download").href = window.URL.createObjectURL(blob); } else if (window.webkitURL && window.webkitURL.createObject) { // for Chrome document.getElementById("download").href = window.URL.createObjectURL(blob); } else { // for Safari window.open('data:' + mimeType + ';base64,' + window.Base64.encode(content), '_blank'); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/15 21:43