Javaweb工程下载文件乱码

今天写了一个freemaker导出word的工程,导出的文件名中有中文,比较习惯在测试时用Chrome浏览器,快要把更新发给现场了,想起来现场用的是IE浏览器,保险起见还是也测试下,一测试发现糟了乱码了。
有网有百度不怕,然后查查查发现了还挺多人有这个问题的,应该是由于内核不一样吧
发现都是通过判断请求的头来进行浏览器判断,虽然网上有大神写出来的但是还是想自己按照步骤走一下。
现在Chrome中跟踪到了请求的头在network中很容易看出来大概是这个样子

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

再去IE看看呗,一看蒙蔽了,这网络中怎么不管怎么请求都是屁都看不到,纠结了,还是用工具吧,安利一款工具呀 Fiddler 跟踪请求特好用
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

程序就这样写就行啦

String userAgent=request.getHeader("User-Agent").toLowerCase();
            //如果是IE
            if(userAgent.contains("trident")){
                fileName= URLEncoder.encode(fileName,"utf-8");
            }else{
                fileName=new String(fileName.getBytes("utf-8"),"ISO-8859-1");
            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识篇:Http Header之User-AgentUser Agent中文名为用户代理,是Http协议中...
    iPhone阅读 15,868评论 0 13
  • 前言 本篇整理信息收集阶段,大概会占渗透测试总时间的60%,视能力和情况而定,做到不影响企业业务正常运行的情况下,...
    wind_飘阅读 3,292评论 0 2
  • 在互联网上抓取数据的时候,经常需要程序伪装成浏览器来避开服务端的一些限制,这是收集的一些浏览器的User-Agen...
    venter_zhu阅读 7,505评论 0 14
  • #encoding=utf8 frombs4importBeautifulSoup importrequests ...
    简书用户9527阅读 391评论 1 0
  • 太棒了,今天收到好多红包,完美完美 太棒了今天听到微信营销太棒了,来钱就是这么容易 太棒了今天显化的金钱 感恩海豚音
    磁场爱生活阅读 187评论 0 0