$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 头
解决了,谢谢!
