$fileName = '用户信息登记表';
$encoded_filename = str_replace('+', '%20', urlencode($fileName));
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$encoded_filename.'.xls"');
header('Cache-Control: max-age=0');中文文件名在不同的浏览器下处理方式不同。原来我直接在filename中写了中文名字,在FireFox下没有问题,但是到IE下就是下载不了,提示文件找不到。后来采用了上述方法,在IE下是正常的,但是在FireFox下是url编码过后的文件名,怎样让两个浏览器下都显示正常的文件名?
//$encoded_filename = str_replace('+', '%20', urlencode($fileName));
$encoded_filename = iconv('UTF-8', 'UTF-8', $fileName);
header('Content-Type: application/vnd.ms-excel;charset=UTF-8');
header('Content-Disposition: attachment;filename="'.$encoded_filename.'.xls"');
header('Cache-Control: max-age=0');是这样的吗?在IE下不行。
参考地址:http://www.abcdown.net/InfoView/Article_311888.html