PHP附件下载中文名称乱码怎么办
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章将为大家详细讲解有关PHP附件下载中文名称乱码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:PHP中,如果要下载的文件名称为中文,则会出现文
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
网络安全红蓝对抗赛时间
网络技术中的分类
计算机网络安全等级二级
计算机网络技术选c语言吗
湛江地产软件开发费用是多少
创建大量数据库会不会浪费存储
方舟生存进化私人服务器购买软件
应用服务器本地缓存
黔江区工商软件开发流程要求
tp路由器服务器无响应
国家网络安全宣传作文题目
泰安市铭金网络安全
网络安全会议的情况报告
计算机网络技术专业目标
互联网是不是新科技
access数据库难么
城厢恒驰网络技术公司
360提高网络安全待遇
神通数据库官网哪个公司的
代理服务器流量分流
虚拟云服务器网易封号
南阳会计金蝶软件开发
数据库之给一个字段赋值
命运2无法连接服务器
中国电信网络技术支持
pubg未来之役怎么样换服务器
象山苹果软件开发
国家网络安全宣传周 武汉
连接数据库示例
网络安全策略怎么设置