2015-02-11 54 views
1

當我下載的文件(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); 

請建議,並感謝您的幫助!

+0

[不支持IE](https://paydirtapp.com/blog/we-dont-support-ie/) – m0skit0 2015-02-11 11:55:19

+0

你的問題是IE和你的文件編碼。 – 2015-02-11 11:58:14

+0

我認爲m0skit0在這一個上是正確的。即使它不是IE,改變你的代碼以滿足單一的需求也是一種不好的做法。 UTF-8支持日文,除非一些非常奇特的字符不顯示。如果一個人堅持「基礎」,在這種情況下,UTF-16被用作固定長度的類似UTF-8的編碼。順便說一下,當發佈與特定軟件產品有關的問題時,不應該忘記提及使用哪個版本!也看到這個答案:http://stackoverflow.com/a/4655335/1559401 – rbaleksandar 2015-02-11 12:02:11

回答

0

嘗試使用UTF-16LE編碼而不是UTF-8。這應該可以解決您的問題。

+0

嗨拉胡爾,我試過用UTF-16LE,但沒有解決我的問題。 – user3714194 2015-02-11 12:27:24

+0

嗨用戶3714194,因爲這隻發生在IE上,你可以嘗試卸載,然後從控制面板>地區和語言重新安裝日語語言包。 – rahul13579 2015-02-11 13:51:25