當我下載的文件(pdf
/xls
/text
)從門戶網站文件,該文件的名稱不正確顯示IE
和其他瀏覽器工作正常日文文件名不能正確顯示在IE中使用的Java
if(((String) requestKeys.getSessionAttribute(EnumParameterNames.USER_AGENT)).contains("MSIE")){
fileName = URLEncoder.encode(fileName, "UTF-8"); // it results filename mL_úPDF_20150210185915.pdf
} else {
fileName = "=?UTF-8?B?" + new String(Base64.encodeBase64(fileName.getBytes("UTF-8")), "UTF-8") + "?="; // working fine for all browsers
}
我已經使用內容處置也和但得到同樣的錯誤
response.setHeader("Content-Disposition","attachment; filename="+fileName);
請建議,並感謝您的幫助!
[不支持IE](https://paydirtapp.com/blog/we-dont-support-ie/) – m0skit0 2015-02-11 11:55:19
你的問題是IE和你的文件編碼。 – 2015-02-11 11:58:14
我認爲m0skit0在這一個上是正確的。即使它不是IE,改變你的代碼以滿足單一的需求也是一種不好的做法。 UTF-8支持日文,除非一些非常奇特的字符不顯示。如果一個人堅持「基礎」,在這種情況下,UTF-16被用作固定長度的類似UTF-8的編碼。順便說一下,當發佈與特定軟件產品有關的問題時,不應該忘記提及使用哪個版本!也看到這個答案:http://stackoverflow.com/a/4655335/1559401 – rbaleksandar 2015-02-11 12:02:11