<概要>
お世話になります。
ただいま、CSVエクスポート処理の実装を行なっております。
ただ、複数言語(韓国語、英語、フランス語)が混合した形でエクスポートする必要があり、現状は文字化けが生じてしまっております。
<お力添え頂きたいこと>
ソースコードを記載致します。
ネットで調べた中で見つけた、BOM付きでUTF-16LEでエクスポートする
方式を試行しております。
もし可能でしたら、要修正箇所をご指摘頂けますと幸いでございます。
$csv_header = array( 'hogehoge' => 'ホゲホゲ', ); $filename = 'hogehoge.csv'; header("Content-Disposition: attachment; filename*=utf-8'jp'" . urlencode($filename)); header("Content-type: text/csv charset=UTF-16LE"); header('Content-Encoding: UTF-16LE'); $bom = pack('C*',0xEF,0xBB,0xBF); $csv = fopen('php://output', 'w'); foreach ($csv_header as $key => &$str) { $str = $bom . mb_convert_encoding($str, 'UTF-16LE', 'UTF-8'); } fputcsv($csv, $csv_header); foreach ($this->datas as $c) { $csv_row = array(); foreach ($csv_header as $key => $_) { $csv_row[] = $bom . mb_convert_encoding($c[$key], 'UTF-16LE', 'UTF-8'); } fputcsv($csv, $csv_row); } fclose($csv); exit();
どのようなデータが入っていたらどのような表示になりますか?
回答2件
あなたの回答
tips
プレビュー