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,831評論 0 13
  • 前言 本篇整理信息收集階段,大概會占滲透測試總時間的60%,視能力和情況而定,做到不影響企業業務正常運行的情況下,...
    wind_飄閱讀 3,291評論 0 2
  • 在互聯網上抓取數據的時候,經常需要程序偽裝成瀏覽器來避開服務端的一些限制,這是收集的一些瀏覽器的User-Agen...
    venter_zhu閱讀 7,498評論 0 14
  • #encoding=utf8 frombs4importBeautifulSoup importrequests ...
    簡書用戶9527閱讀 387評論 1 0
  • 太棒了,今天收到好多紅包,完美完美 太棒了今天聽到微信營銷太棒了,來錢就是這么容易 太棒了今天顯化的金錢 感恩海豚音
    磁場愛生活閱讀 186評論 0 0