您的位置:首页 > 编程语言 > PHP开发

解决PHP Header强制下载IE文件名中文乱码问题

2013-09-08 00:00 846 查看
发现之前的项目中使用PHP Header强制下载IE文件名中文乱码,这就是某某某浏览器,大家都懂得。。。



解决方案如下(我的页面是utf-8编码):
$filename = "中文.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
if (preg_match("/MSIE/", $ua)) {
    header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
    header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"');
} else {
    header('Content-Disposition: attachment; filename="' . $filename . '"');
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: