当前位置:首页 > 日记 > 正文

解决PHP下载文件名中乱码的解决方法

解决PHP下载文件名中乱码的解决方法
通过设置内容类型应用/字节流,你可以下载动态生成的内容作为一个文件,并相信你会的。然后是下载内容的配置文件名称是许多人都知道的。基本上,这就是下载写道:
复制代码代码如下所示:
文件;
头('content-type:应用/字节流);
头('content-disposition:附件文件名=。$文件名);
打印你好!;
>

然而,如果美元是UTF-8编码的文件名,有些浏览器将无法妥善处理。例如,改变上述程序一点点:
复制代码代码如下所示:
文件名为中文文件名;
头('content-type:应用/字节流);
头('content-disposition:附件文件名=。$文件名);
打印你好!;
>

输出头实际上是这样的:
内容配置:依恋;文件名=中文文件名.txt;事实上,根据rfc2231定义、多语言编码的内容应该被定义。
内容配置:依恋;文件名=utf8% % % % E4 B8 AD E6 % 96% 87% 20% 96% 87% E4 E6 % % % % % 90% BB B6 E5 8D。txt:
在文件名的等号前加上*
文件名的值分为三段,用单引号,这是字符集(utf8),语言(空的),并对urlencode文件名。
最好是添加双引号,否则文件名后面空间的部分不会显示在Firefox中。
注意:URLEncode的结果不作为PHP urlencode函数的结果一样,和PHP urlencode会用+代替空间,这就需要更换为20
实验结束后,我们发现几个主流浏览器的支持如下:
IE6
附件;文件名
FF3
附件;文件名= 名称的文件UTF-8
附件;文件名=utf8
O9
附件;文件名= 名称的文件UTF-8
safari3(赢)
它似乎不受支持吗上述方法没有一种是可以做到的。
通过这种方式,必须编写程序来支持所有主流浏览器:
复制代码代码如下所示:
UA _server美元美元{ =http_user_agent};
文件名为中文文件名;
encoded_filename美元= urlencode($文件名);
encoded_filename美元= str_replace(+
头('content-type:应用/字节流);
如果(preg_match( / / MSIE
头('content-disposition:附件文件名=。encoded_filename美元。);
} else if(preg_match( / / 火狐
头('content-disposition:依恋;文件名* = / / UTF8。$文件名;
{人}
头('content-disposition:附件文件名=。文件名;
}
print'abc;
>

相关文章

如何在Win8.1动态壁纸不成立建立wi

如何在Win8.1动态壁纸不成立建立wi

动态,壁纸,系统,方法,不成立,点评:微软增加了动态壁纸的Windows8.1系统,以下将告诉你如何使用deskscapes8建立Win8.1动态壁纸 首先,让我们看一看在deskscapes8接口。整个界面是整个软件。启动后,您首先会看到一个图片库,左边是墙纸,右边是图片预…

中国网络电视CBox央视节目CCBN2014

中国网络电视CBox央视节目CCBN2014

网络电视,中国,央视,节目,电脑软件,3月20日,第二十二届中国国际广播电视信息网络展览会(以下简称CCBN2014)发起的主题,高速网络和新媒体时代时代的融合。这是在北京中国国际展览中心举行,期间,中国互联网电视显示集成视频客户端CBox用户,-,,央视视频…

安装Win8总提示内存不够安装(溶液)

安装Win8总提示内存不够安装(溶液)

安装,提示,内存,溶液,电脑软件,问题: 现在的Windows8预览版可以下载,我还想体验一个新的系统,在安装的时候,电脑的总内存不足以安装。我的电脑配置是赛洋的mcp73 E1200处理器,主板,1GB内存,而硬盘disk.win8要求最低配置1GB,而系统安装应该没有问题…

豌豆荚的API搜索已被31个合作伙伴

豌豆荚的API搜索已被31个合作伙伴

搜索,豌豆荚,已被,合作伙伴,电脑软件,豌豆荚宣布,其基础功能应用API目前正与31家合作伙伴,其中包括搜狗、魅族、millet和苏宁。合作伙伴使用豌豆荚搜索一个完整的、准确的豌豆荚用户应用形式的API,和一个单一的按钮安装在手机2011年4月,豌豆荚…

FIFA13游戏不能用键盘控制球员(溶液

FIFA13游戏不能用键盘控制球员(溶液

控制,键盘,球员,溶液,不能用,问题: 电脑玩FIFA13游戏,不能用键盘控制球员、控制故障现象出现的原因是什么 答案uff1a 在FIFA13 如果用户使用键盘输入开始,配置文件buttondatasetup.ini在档案folder.fifa13产生不能识别中文路径读取游戏和配…

MySQL教程教程:MySQL性能优化的缓存

MySQL教程教程:MySQL性能优化的缓存

教程,缓存,性能优化,参数优化,电脑软件,数据库是一个IO密集型应用程序,其主要职责是管理和存储数据。我们知道,从内存中读取数据库的时间是微秒级,而从硬盘读取IO是毫秒级。两者之间的差异是3个数量级,因此,为了优化数据库,需要优化的第一步是IO,…

Linux使用CP报告错误的文本文件。

Linux使用CP报告错误的文本文件。

错误,文本文件,报告,电脑软件,Linux,注释:一位同事问我:当使用CP命令时,如果发现要覆盖的文件(二进制可执行文件)正在运行,CP会出错。CP命令如何知道文件正在执行 我想到的第一件事就是ioctl可以检查文件。不幸的是,我猜错了。我看了看源代码,原来,…

Linux的命令行输出进度条

Linux的命令行输出进度条

进度条,命令,行输出,电脑软件,Linux,点评:Linux的一些命令,如wget,它显示一个进度条。最后,我知道这样得到的效果。 复制代码代码如下所示: ($ i = 0;$ i printf(进展:{ % 50岁} %1 R usleep(1000×100); } ; 已完成。; 每次结束时都使用 新的线和R是…

PHP的IP转换的详细解决方案,塑造(ip2

PHP的IP转换的详细解决方案,塑造(ip2

转换,解决方案,详细,电脑软件,PHP,如何通过IP网络地址协议地址将四个字段转换成整数有PHP这样的函数ip2long。如 复制代码代码如下所示: 回声ip2long(10.2.1.3 ); > 我们会得到它的 一亿六千七百九十万三千四百九十一 这是这是怎么计算的,现…

在假日服务的交付中,许多快递被暂停

在假日服务的交付中,许多快递被暂停

服务,暂停,交付,假日,快递,在高价格交货和不交货之间,人们应该选择什么昨天,记者采访了很多次,虽然国家邮政局明确表示没有关闭快递公司的快递员,一些已经不再接受他们,而仍在接受它的公司宣布他们将在春节期间提高自己的价格。其中,顺丰(微博)表示…

spysub是spysub.exe-过程

spysub是spysub.exe-过程

过程,电脑软件,spysub,exe,评论:详细的介绍了spysub.exe工艺文件 进程文件:spysub或spysub.exe 进程名称:spysubtract 过程类别:安全风险的过程 英文描述: spysub.exe是一个spysubtract从intermute相关过程。spysubtract,intermute。,它也被称为…

设置NAT了UbuntuVPSpptpd问题

设置NAT了UbuntuVPSpptpd问题

设置,电脑软件,NAT,UbuntuVPSpptpd,Ubuntu在pptpd建立PPTP VPN服务器的主题已被注销的人。但是由于VPS的不同配置,通过VPN网络实现它的方式有不同的看法。 基本的PPTP配置很容易把。如果你有问题,你可以给我留言或写信给我。 apt-get insta…