ダウンロードするファイル名が文字化けする現象
2010年08月16日
PHPにて、エクセルのファイル出力するプログラムを作成していたのですが、何故かダウンロードするファイルのファイル名の日本語が文字化けを起こしてしまう現象が発生しました。
しかも、Internet Explorer(IE)以外のブラウザでは問題ないのに、IEでだけ日本語が文字化け…。
しかしこの問題、調べてみるとIEでファイルをダウンロードするとき、ファイル名はShift-Jisでないと文字化けを起こす仕様になっているらく、どうもそれが原因だった模様。
プログラム上のファイル名を指定する箇所で、Shift-Jisにエンコーディングをかけてやることで、無事出力されましたよ。
$file_name = mb_convert_encoding($file_name, ‘sjis’, ‘utf-8’);