首页  >  文章  >  后端开发  >  phpexcel导出中文文件名出错

phpexcel导出中文文件名出错

WBOY
WBOY原创
2016-06-20 12:45:521096浏览

header("Content-Disposition: attachment;filename=$filename");
$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 头


解决了,谢谢!
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn