筆者最近寫了個導出Excel的工具,后面發現在火狐瀏覽器下載的文件的文件名是一串看不懂的字母。
后面找到了解決方法,
下面直接上代碼。
/** 下載時文件名為中文:亂碼解決 */
// 響應的過程:
// 服務器: utf-8|gbk --> iso8859-1 瀏覽器: iso8859-1 --> utf-8|gbk (firefox、chrome)
// 服務器: gbk --> iso8859-1 瀏覽器: iso8859-1 --> gbk (msie)
fileName = new String(fileName.getBytes("gbk"), "iso8859-1");
/** 設置下載的文件名 */
response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");
1
/** 下載時文件名為中文:亂碼解決 */
2
// 響應的過程:
3
// 服務器: utf-8|gbk --> iso8859-1 瀏覽器: iso8859-1 --> utf-8|gbk (firefox、chrome)
4
// 服務器: gbk --> iso8859-1 瀏覽器: iso8859-1 --> gbk (msie)
5
fileName = new String(fileName.getBytes("gbk"), "iso8859-1");
6
/** 設置下載的文件名 */
7
response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xlsx");