当前位置: 代码迷 >> PHP >> phpexcel导出中文文件名报错
  详细解决方案

phpexcel导出中文文件名报错

热度:79   发布时间:2016-04-28 16:52:29.0
phpexcel导出中文文件名出错
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.'"');  
    }  

------解决思路----------------------
1、header("Content-Disposition: attachment;filename=$filename"); 必须是不含路径的纯文件名
2、phpexcel 默认字符集是 utf-8,一般人都采用浪费资源的 utf-8 保存程序文件。这就不可避免的可能有 BOM 头