FF瀏覽器和IE下載文件亂碼問題的解決方法
更新時間:2013年08月05日 15:17:17 作者:
大家可以看到如下截圖,下載文件出現(xiàn)了亂碼,在其他瀏覽器(IE,Chrome....)上沒有出現(xiàn)這個問題,解決方法很簡單,遇到類似問題的朋友可以了解下哦
下載在FF瀏覽器下出現(xiàn)了下列問題
但是在其他瀏覽器(IE,Chrome....)上沒有出現(xiàn)這個問題,
需要寫一個Utitl類管理下
package com.sencloud.dh.core.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
/**
* 對文件流輸出下載的中文文件名進行編碼 屏蔽各種瀏覽器版本的差異性
*
* @author xutianlong
* @version [版本號, Feb 7, 2013]
* @see [相關類/方法]
* @since [產(chǎn)品/模塊版本]
*/
public class OfficeUtil
{
/**
* 對文件流輸出下載的中文文件名進行編碼 屏蔽各種瀏覽器版本的差異性
*/
public static String encodeChineseDownloadFileName(HttpServletRequest request, String pFileName)
{
String agent = request.getHeader("USER-AGENT");
try
{
if (null != agent && -1 != agent.indexOf("MSIE"))
{
pFileName = URLEncoder.encode(pFileName, "utf-8");
}
else
{
pFileName = new String(pFileName.getBytes("utf-8"), "iso8859-1");
}
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return pFileName;
}
}

但是在其他瀏覽器(IE,Chrome....)上沒有出現(xiàn)這個問題,
需要寫一個Utitl類管理下
復制代碼 代碼如下:
package com.sencloud.dh.core.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
/**
* 對文件流輸出下載的中文文件名進行編碼 屏蔽各種瀏覽器版本的差異性
*
* @author xutianlong
* @version [版本號, Feb 7, 2013]
* @see [相關類/方法]
* @since [產(chǎn)品/模塊版本]
*/
public class OfficeUtil
{
/**
* 對文件流輸出下載的中文文件名進行編碼 屏蔽各種瀏覽器版本的差異性
*/
public static String encodeChineseDownloadFileName(HttpServletRequest request, String pFileName)
{
String agent = request.getHeader("USER-AGENT");
try
{
if (null != agent && -1 != agent.indexOf("MSIE"))
{
pFileName = URLEncoder.encode(pFileName, "utf-8");
}
else
{
pFileName = new String(pFileName.getBytes("utf-8"), "iso8859-1");
}
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return pFileName;
}
}
您可能感興趣的文章:
相關文章
解決定時任務@Scheduled沒有準時執(zhí)行的原因及分析
這篇文章主要介紹了解決定時任務@Scheduled沒有準時執(zhí)行的原因及分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個代碼庫的實現(xiàn)
這篇文章主要介紹了在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個代碼庫的實現(xiàn),文中通過圖文示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07MyBatis實現(xiàn)Mysql數(shù)據(jù)庫分庫分表操作和總結(jié)(推薦)
這篇文章主要介紹了MyBatis實現(xiàn)Mysql數(shù)據(jù)庫分庫分表操作和總結(jié),需要的朋友可以參考下2017-08-08Java 11 正式發(fā)布,這 8 個逆天新特性教你寫出更牛逼的代碼
美國當?shù)貢r間9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式發(fā)布,可在生產(chǎn)環(huán)境中使用!這是自 Java 8 后的首個長期支持版本2018-09-09