首頁 > Java > Java基礎 > java下載檔名中文亂碼解決

java下載檔名中文亂碼解決

發布: 2019-11-22 16:06:48
原創
4447 人瀏覽過

java下載檔名中文亂碼解決

在Java的web開發中,檔案下載功能的檔案名稱檔案名稱亂碼問題是經常遇到的。

對於這個問題,不同的瀏覽器,解決的方法不太一樣。

IE的話,透過URLEncoder對filename進行UTF8編碼。

而其他的瀏覽器(firefox、chrome、safari、opera),則要透過位元組轉換成ISO8859-1了。

java下載檔名中文亂碼解決:

    response.setCharacterEncoding("utf-8");  
    response.setContentType("application/msword");  
    String  fileName="哈哈哈哈.doc";  

    if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {    
      fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器    
    } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {    
     fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器    
    }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {    
     fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌    
  }  
   response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
登入後複製

更多java知識請關注java基礎教學

以上是java下載檔名中文亂碼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板