PHP附件下载中文名称乱码的解决方法
php  /  管理员 发布于 8年前   328
本文实例讲述了PHP附件下载中文名称乱码的解决方法。分享给大家供大家参考,具体如下: PHP中,如果要下载的文件名称为中文,则会出现文件标题乱码。 此时就需要对标题进行编码,也就是说先进性urlencode,然后再放入header,然后问题就解决了。 网上说,在RFC2231的定义里面, 多语言编码的Content-Disposition应该这么定义: filename后面的等号之前要加 * 所以这时应该对文件名进行url编码转换 ,使用php的urlencode很轻松就搞定了 希望本文所述对大家PHP程序设计有所帮助。$filename = urlencode("下载文档");header ( "Content-disposition: attachment; filename=$filename.xls" );
即:
filename的值用单引号分成三段,分别是字符集(utf8)、语言(空)和urlencode过的文件名。 $ua = _SERVER["HTTP_USER_AGENT"];$filename = "中文 文件名.txt";$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 . '"');}您可能感兴趣的文章:
test1 在
opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..Zita 在
Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
