CodeIgniter
IE
PHP7

PHP Codeigniter force_downloadでのIE文字化け対応


■PHP Codeigniter

PHPのフレームワーク


■問題

download helper の[force_download]を使用し日本語ファイルをIEでダウンロードしようとすると文字化け


download.php

$file_path = '/data/てすと.csv';

force_download($file_path, null);

image.png


■対応


download.php

$file_path = '/data/てすと.csv';

$file_data = null;
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strstr($ua, 'Trident') || strstr($ua, 'MSIE')) {
/* IEの場合 */
$file_data = file_get_contents($file_path);
$file_name = basename($file_path);
$file_path = mb_convert_encoding($file_name, 'SHIFT_JIS', 'UTF-8');
}
force_download($file_path, $file_data);

image.png


■さいごに

・自分用メモ

・IE対応はめんどくさい