FF浏览器和IE下载文件乱码问题的解决方法
更新时间:2013年08月05日 15:17:17 作者:
大家可以看到如下截图,下载文件出现了乱码,在其他浏览器(IE,Chrome....)上没有出现这个问题,解决方法很简单,遇到类似问题的朋友可以了解下哦
下载在FF浏览器下出现了下列问题
但是在其他浏览器(IE,Chrome....)上没有出现这个问题,
需要写一个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 [产品/模块版本]
*/
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....)上没有出现这个问题,
需要写一个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 [产品/模块版本]
*/
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;
}
}
您可能感兴趣的文章:
相关文章
在Idea2020.1中使用gitee2020.1.0创建第一个代码库的实现
这篇文章主要介绍了在Idea2020.1中使用gitee2020.1.0创建第一个代码库的实现,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07MyBatis实现Mysql数据库分库分表操作和总结(推荐)
这篇文章主要介绍了MyBatis实现Mysql数据库分库分表操作和总结,需要的朋友可以参考下2017-08-08Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码
美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本2018-09-09
最新评论