PHP Header下载文件在IE文件名中文乱码问题
程序员文章站
2022-05-27 11:18:06
...
解决PHP Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码就可以解决了.
解决方案一,我的页面是utf-8编码,代码如下:
$filename = "中文.txt"; $ua = $_SERVER["HTTP_USER_AGENT"]; $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20", $encoded_filename); header('Content-Type: application/octet-stream'); if (preg_match("/MSIE/", $ua)) { header('Content-Disposition: attachment; filename="' . $encoded_filename . '"'); } else if (preg_match("/Firefox/", $ua)) { header('Content-Disposition: attachment; filename*="utf8''' . $filename . '"'); } else { header('Content-Disposition: attachment; filename="' . $filename . '"'); }
解决方法二,将文件名先urlencode一下再放入header,如下.
本文链接:
收藏随意^^请保留教程地址.
上一篇: python中的切片是什么?(实例解析)
下一篇: ajax验证用户名二