Home  >  Article  >  Backend Development  >  phpexcel导出中文文件名出错

phpexcel导出中文文件名出错

WBOY
WBOYOriginal
2016-06-20 12:45:521139browse

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 头


解决了,谢谢!
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn