分享
  1. 首页
  2. 文章

IE 11下载文件中文乱码解决(go/php)

rariki · · 16230 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

IE 11下载文件的时候发现乱码.

网上查了下资料,了解了一下,主要是user-agent变了,不再是MSIE,面是rv:11.0这样,所以只要服务端判断出是IE 11,处理跟MSIE一样。


GO:

funcsetDownloadFileName(whttp.ResponseWriter,fileName,agentstring){
ifstrings.Contains(agent,"MSIE"){
fileName=url.QueryEscape(fileName)
fileName=strings.Replace(fileName,"+","%20",-1)
}
ifstrings.Contains(agent,"rv:")&&strings.Contains(agent,"Gecko"){
fileName=url.QueryEscape(fileName)
fileName=strings.Replace(fileName,"+","%20",-1)
}
w.Header().Set("Content-Disposition","attachment;filename=\""+fileName+"\"")
}

PHP:

$ua = isset ( $_SERVER ["HTTP_USER_AGENT"] ) ? $_SERVER ["HTTP_USER_AGENT"] : '';
<span style="white-space:pre">		</span>
if (preg_match ( "/MSIE/", $ua )) {
<span style="white-space:pre">	</span>$file_name = rawurlencode ( $file_name );
<span style="white-space:pre">	</span>header ( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
} else if (preg_match ( "/Firefox/", $ua )) {
<span style="white-space:pre">	</span>header ( 'Content-Disposition: attachment; filename*="utf8\'\'' . $file_name . '"' );
} elseif (stripos ( $ua, 'rv:' ) > 0 && stripos ( $ua, 'Gecko' ) > 0) {
<span style="white-space:pre">	</span>$file_name = rawurlencode ( $file_name );
<span style="white-space:pre">	</span>header ( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
} else {
<span style="white-space:pre">	</span>header ( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
}




有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:rariki

查看原文:IE 11下载文件中文乱码解决(go/php)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
16230 次点击
1 回复 | 直到 2025年04月29日 16:47:52
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏