PHP附件下载中文名称乱码怎么办
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关PHP附件下载中文名称乱码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:PHP中,如果要下载的文件名称为中文,则会出现文
千家信息网最后更新 2026年11月02日PHP附件下载中文名称乱码怎么办
这篇文章将为大家详细讲解有关PHP附件下载中文名称乱码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体如下:
PHP中,如果要下载的文件名称为中文,则会出现文件标题乱码。
此时就需要对标题进行编码,也就是说先进性urlencode,然后再放入header,然后问题就解决了。
$filename = urlencode("下载文档");header ( "Content-disposition: attachment; filename=$filename.xls" );网上说,在RFC2231的定义里面, 多语言编码的Content-Disposition应该这么定义:
Content-Disposition: attachment; filename*="utf8''%E6%B5%8B%E8%AF%95.html"
即:
filename后面的等号之前要加 *
filename的值用单引号分成三段,分别是字符集(utf8)、语言(空)和urlencode过的文件名。
所以这时应该对文件名进行url编码转换 ,使用php的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 . '"');}关于"PHP附件下载中文名称乱码怎么办"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
中文
文件名
乱码
篇文章
编码
名称
怎么办
附件
更多
标题
不错
实用
也就是
也就是说
先进
先进性
内容
字符
字符集
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
深圳九邦互联网科技有限公司
互联网科技资迅
金融科技创新监管互联网金融
北京互联网科技公司
万易互联网科技有限公司
互联网科技革命
互联网金融科技创新
科技创新互联网企业
亿人帮互联网科技
盛创互联网科技有限公司
深圳前海聚择互联网科技有限公司
金融科技与互联网金融相同和不同
苏州五指互联网络科技有限
辽宁互联网新科技
深圳育鹏互联网科技有限公司招聘
互联网科技人工智能实验室
互联网时代的科技公司
互联网科技企业商标注意事项
上海旺乐尼互联网科技有限公司
北京路客互联网科技有限公司
科技金融是不是互联网金融
互联网科技logo
互联网对科技的发展
速维有品互联网信息科技(苏州)有限公司
洛阳共同富裕互联网科技有限公司
科技大学互联网
上海科技产业互联网平台
东营紫格互联网科技
信承诺互联网科技有限公司