立ちはだかる文字化けに。

  1. とあるデータをCSV出力しておく。
  2. とある画面で特定のリンクをクリックすると、そのCSVファイルがダウンロードできる。

…という機能を実装したのは良いのですが、文字コードの問題が(´・ω・`)
「1」のファイル出力時は「EUC-JP」なので、「2」でダウンロードしたファイルをExcelで
読もうとすると文字化けします(´・ω・`)
(Excelの文字コードが「SJIS」のため)

CSVファイルはこのエントリーの方法で作成しているため、データ1つずつに対して
「mb_convert_encoding」
をかましていくわけにもいかず…
配列の文字コードを一気に変換できないか悩んでいたところ、mb_convert_variables関数に出会いました☆

mb_convert_variables(任意のエンコード、元のエンコード、$変換対象);


以下のように使います(・∀・)

$array_data = mb_convert_variables("SJIS", "EUC-JP", $array_data);