如果下載中文文件,頁面在下載時會出現中文亂碼或不能顯示文件名的情況

但是,如果下載中文文件,頁面在下載時會出現中文亂碼或不能顯示文件名的情況, 原因是不同的瀏覽器默認對下載文件的編碼方式不同,即是UTF-8編碼方式,而火狐 瀏覽器是的Base64編碼方式。所裏這裏需要解決瀏覽器兼容性問題,瀏覽解決器兼容 性問題的首要任務是要辨別訪問者是即還是火狐(其他),通過的Http請求體中的一個屬性可以辨別

解決亂碼方法如下(不要記憶 -瞭解):

 

if(agent.contains(“MSIE”)){

// IE瀏覽器

filename = URLEncoder.encode(文件名,“utf-8”);

filename = filename.replace(“+”,“”);

} else if(agent.contains(“Firefox”)){

//火狐瀏覽器

BASE64Encoder base64Encoder = new BASE64Encoder();

filename =“=?utf-8?B?”

+ base64Encoder.encode(filename.getBytes(“utf-8”))+“?=”;

} else {

//其它瀏覽器

filename = URLEncoder.encode(文件名,“utf-8”);

}

 

其中代理就是請求頭的User-Agent的值





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章