FF瀏覽器和IE下載文件亂碼問題的解決方法
更新時(shí)間:2013年08月05日 15:17:17 作者:
大家可以看到如下截圖,下載文件出現(xiàn)了亂碼,在其他瀏覽器(IE,Chrome....)上沒有出現(xiàn)這個(gè)問題,解決方法很簡單,遇到類似問題的朋友可以了解下哦
下載在FF瀏覽器下出現(xiàn)了下列問題
但是在其他瀏覽器(IE,Chrome....)上沒有出現(xiàn)這個(gè)問題,
需要寫一個(gè)Utitl類管理下
package com.sencloud.dh.core.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
/**
* 對(duì)文件流輸出下載的中文文件名進(jìn)行編碼 屏蔽各種瀏覽器版本的差異性
*
* @author xutianlong
* @version [版本號(hào), Feb 7, 2013]
* @see [相關(guān)類/方法]
* @since [產(chǎn)品/模塊版本]
*/
public class OfficeUtil
{
/**
* 對(duì)文件流輸出下載的中文文件名進(jìn)行編碼 屏蔽各種瀏覽器版本的差異性
*/
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)這個(gè)問題,
需要寫一個(gè)Utitl類管理下
復(fù)制代碼 代碼如下:
package com.sencloud.dh.core.utils;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
/**
* 對(duì)文件流輸出下載的中文文件名進(jìn)行編碼 屏蔽各種瀏覽器版本的差異性
*
* @author xutianlong
* @version [版本號(hào), Feb 7, 2013]
* @see [相關(guān)類/方法]
* @since [產(chǎn)品/模塊版本]
*/
public class OfficeUtil
{
/**
* 對(duì)文件流輸出下載的中文文件名進(jìn)行編碼 屏蔽各種瀏覽器版本的差異性
*/
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;
}
}
相關(guān)文章
Java Spring詳解如何配置數(shù)據(jù)源注解開發(fā)以及整合Junit
Spring 是目前主流的 Java Web 開發(fā)框架,是 Java 世界最為成功的框架。該框架是一個(gè)輕量級(jí)的開源框架,具有很高的凝聚力和吸引力,本篇文章帶你了解如何配置數(shù)據(jù)源、注解開發(fā)以及整合Junit2021-10-10
Java應(yīng)用多機(jī)器部署解決大量定時(shí)任務(wù)問題
這篇文章主要介紹了Java應(yīng)用多機(jī)器部署解決大量定時(shí)任務(wù)問題,兩臺(tái)服務(wù)器同時(shí)部署了同一套代碼, 代碼中寫有spring自帶的定時(shí)任務(wù),但是每次執(zhí)行定時(shí)任務(wù)時(shí)只需要一臺(tái)機(jī)器去執(zhí)行,需要的朋友可以參考下2019-07-07
Mybatis?plus多租戶方案的實(shí)戰(zhàn)踩坑記錄
MybaitsPlus多租戶處理器是一個(gè)對(duì)于多租戶問題的解決方案,下面這篇文章主要給大家介紹了關(guān)于Mybatis?plus多租戶方案踩坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
使用springboot整合mybatis-plus實(shí)現(xiàn)數(shù)據(jù)庫的增刪查改示例
這篇文章主要介紹了使用springboot整合mybatis-plus實(shí)現(xiàn)數(shù)據(jù)庫的增刪查改示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串(步驟詳解)
這篇文章主要介紹了IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
詳解SpringMVC中設(shè)置靜態(tài)資源不被攔截的問題
這篇文章主要介紹了詳解SpringMVC中設(shè)置靜態(tài)資源不被攔截的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02

