原因 主要是編碼的問題。在設置文件名稱前,加上判斷。判斷下載者使用的瀏覽器,如果不是火狐瀏覽器,則對文件名稱進行UTF8編碼;如果是火狐瀏覽器,則不對文件名稱進行操作. 解決辦法 文件名稱編碼時進行判斷,不是火狐瀏覽器時才進行編碼 ...
實例: String poorName dataMap.get NAME .toString String villageName dataMap.get ADDRESS .toString String filename villageName poorName .doc response.setContentType application doc final String userAgent ...
2016-04-18 10:38 0 5123 推薦指數:
原因 主要是編碼的問題。在設置文件名稱前,加上判斷。判斷下載者使用的瀏覽器,如果不是火狐瀏覽器,則對文件名稱進行UTF8編碼;如果是火狐瀏覽器,則不對文件名稱進行操作. 解決辦法 文件名稱編碼時進行判斷,不是火狐瀏覽器時才進行編碼 ...
我最近在開發時遇到了文件另存為時文件名出現亂碼,在火狐上正常的文件名,在IE中又出現亂碼問題,然后好不容易在IE下調試好了文件名亂碼問題,在火狐下又出現亂碼,最后終於感覺這樣是能解決了。具體如下: ...
首先在文件下載時,請求類型需要設置編碼 : 最終文件名處理交給UserAgentUtil的encodeFileName: 這樣在進行文件下載時,使用這個工具類對文件名進行一次編碼,就可以處理不同瀏覽器下載文件亂碼的問題了。 參考 開源中國 ...
String agent = request.getHeader("USER-AGENT").toLowerCase(); response.setContentType("application/vnd.ms-excel"); String fileName = "文件名 ...
= "文件名"; String codedFileName = java.net.URLEncode ...
如題,做到這點即需要對瀏覽器進行區分后,對文件名進行不同的編碼格式 1、區分瀏覽器 2、針對火狐,對文件名進行如下代碼所示的處理過程: 3、針對其他瀏覽器 ...
網上很多例子是用 msie 和like Gecko 來做區分,說ie11去除了msie; 親自測試 谷歌瀏覽器也帶like Gecko,ie11的 msie沒有移除,並且帶有trident標記 結論是 不用用like Gecko來做區分,最后 ...