php跨浏览器下载文件时中文乱码问题的解决方法

发布时间:2020-11-23编辑:脚本学堂
本文介绍下,如何在php中跨浏览器下载文件时,有关中文乱码问题的解决方法,供大家参考。

代码如下:
 

复制代码 代码示例:

<?php
/**
* 解决跨浏览器下载文件,中文乱码的问题
* edit www.jb200.com
*/
$ua = $_SERVER["HTTP_USER_AGENT"];

$filename = "中文 文件名.txt";
$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 . '"');
}

print 'ABC';
?>