ファイルのダウンロード時に日本語を使用する場合は、ブラウザによって文字化けを起こすので注意する必要がある。
$filename = "file_name";
$ua = $_SERVER['HTTP_USER_AGENT'];
if (strstr($ua, 'MSIE') && !strstr($ua, 'Opera')) {
$filename = mb_convert_encoding($filename, "SJIS", "EUC-JP");
} elseif (strstr($ua, "Safari")) {
$filename = $filename;
} else {
$filename = '=?UTF-8?B?' . base64_encode($filename) . '?=';
}
IE
if (strstr($ua, 'MSIE') > 0 && !strstr($ua, 'Opera')) {
$filename = urlencode(mb_convert_encoding($filename, 'UTF-8', 'EUC-JP'));
}
Firefox他
else {
$filename = mb_encode_mimeheader($filename, 'UTF-8', 'B');
}