kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

ファイルのダウンロード

ファイルのダウンロード時に日本語を使用する場合は、ブラウザによって文字化けを起こすので注意する必要がある。

$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');
}