java文件下載的中文文件名亂碼問題的解決

在Java的web開發中,文件下載功能的文件名文件名亂碼問題是經常遇到的。
對於這個問題,不同的瀏覽器,解決的方法不太一樣。
IE的話,通過URLEncoder對filename進行UTF8編碼。
而其他的瀏覽器(firefox、chrome、safari、opera),則要通過字節轉換成ISO8859-1了。

示例代碼(通過測試):

if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
	filename = URLEncoder.encode(filename, "UTF-8");
} else {
	filename = new String(filename.getBytes("UTF-8"), "ISO8859-1");
}


發佈了72 篇原創文章 · 獲贊 23 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章