phpexcel导出中文文件名出错
程序员文章站
2024-01-05 21:04:58
...
header("Content-Disposition: attachment;filename=$filename");
$filename是中文的话下载到的文件就是.php的 英文的话可以
打开下载文件 好像是第一个文字有问题 求解
解决了,谢谢!
$filename是中文的话下载到的文件就是.php的 英文的话可以
回复讨论(解决方案)
试试
$user_agent = $_SERVER['Http_User_agent']; $encode_filename = rawurlencode($filename); if(preg_match("/MSIE/", $user_agent)){ header('content-disposition:attachment; filename="'.$encode_filename.'"'); }else if(preg_match("/Firefox/", $user_agent)){ header("content-disposition:attachment; filename*=\"utf8''".$filename.'"'); }else{ header('content-disposition:attachment; filename="'.$filename.'"'); }
试试
$user_agent = $_SERVER['Http_User_agent']; $encode_filename = rawurlencode($filename); if(preg_match("/MSIE/", $user_agent)){ header('content-disposition:attachment; filename="'.$encode_filename.'"'); }else if(preg_match("/Firefox/", $user_agent)){ header("content-disposition:attachment; filename*=\"utf8''".$filename.'"'); }else{ header('content-disposition:attachment; filename="'.$filename.'"'); }
打开下载文件 好像是第一个文字有问题 求解
1、header("Content-Disposition: attachment;filename= $filename"); 必须是不含路径的纯文件名
2、phpexcel 默认字符集是 utf-8,一般人都采用浪费资源的 utf-8 保存程序文件。这就不可避免的可能有 BOM 头
其实微软是很贴心的,他只是对非英文系统采用双字节(utf-8中文是3字节)
如果一个人看不懂双字节中文的话,他一样看不懂3字节的中文!于是你们所谓的国际化不是自欺欺人吗?
1、header("Content-Disposition: attachment;filename= $filename"); 必须是不含路径的纯文件名
2、phpexcel 默认字符集是 utf-8,一般人都采用浪费资源的 utf-8 保存程序文件。这就不可避免的可能有 BOM 头
解决了,谢谢!
推荐阅读