【已处理】【下载】Firefox和Safari下载中文文件名变成了%编码

atsivsucks 2013-04-13 03:01:37
例如用Firefox和Safari下载「UNIX系统操作命令大全.pdf」,会变成「UNIX%E7%B3%BB%E7%BB%9F%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%85%A8.pdf」

通过Firebug研究你们的HTTP头发现,是你们的HTTP头不符合标准规范所致,请参考一下资料并改进,先谢了:
http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http/216777#216777
http://greenbytes.de/tech/tc2231/
http://blogs.msdn.com/b/ieinternals/archive/2010/06/07/content-disposition-attachment-and-international-unicode-characters.aspx
...全文
996 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
atsivsucks 2013-12-23
  • 打赏
  • 举报
回复
经测试可以了,感谢您的工作!
多鱼的夏天 2013-10-31
  • 打赏
  • 举报
回复
感谢楼主提供如此详细的资料。 如果遵守协议,ie下中文文件名会出现乱码,所以输出head时对filename进行了urlencode。当时只测试了chrome与ie,是正常的。未在firefox和safari下测试。 根据楼主提供的资料,修改后的代码如下。ie、chrome、safari、firefox下测试均正常。 if ( strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], "MSIE" ) > 0 ) { header ( 'Content-Disposition: attachment; filename="' . rawurlencode ( $originfile ) . '"' ); } else { header( 'Content-Disposition: attachment; filename*=UTF-8\'\'' . rawurlencode ( $originfile ) ); }
atsivsucks 2013-10-30
  • 打赏
  • 举报
回复
还是没解决啊
atsivsucks 2013-06-06
  • 打赏
  • 举报
回复
补充一个中文的资料: http://qixinglu.com/post/redisposition.html
管理员 2013-04-28
  • 打赏
  • 举报
回复
引用 4 楼 atsivsucks 的回复:
问题依旧!!!!
已经反馈,我会让工作人员尽快处理下
atsivsucks 2013-04-28
  • 打赏
  • 举报
回复
问题依旧!!!!
(☆随缘☆) 2013-04-15
  • 打赏
  • 举报
回复
友情帮顶,顺便接个分
管理员 2013-04-15
  • 打赏
  • 举报
回复
多谢反馈,我转达给相关的工作人员。
atsivsucks 2013-04-13
  • 打赏
  • 举报
回复
没有客服吗?

589

社区成员

发帖
与我相关
我的任务
社区描述
客服专区
其他 技术论坛(原bbs)
社区管理员
  • 客服专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧