extremecomponents extremetable的导出时中文文件名为乱码的问题解决

原创 2006年06月09日 13:18:00
 如果由于编码的设置问题引起extremetable在导出时中文文件名为乱码的问题,可以修改默认的ExportFilter加以解决(继承AbstractExportFilter)。

public class ExportFilter extends AbstractExportFilter {
private boolean responseHeadersSetBeforeDoFilter;

public void init(FilterConfig filterConfig) throws ServletException {
String responseHeadersSetBeforeDoFilter = filterConfig.getInitParameter("responseHeadersSetBeforeDoFilter");
if (StringUtils.isNotBlank(responseHeadersSetBeforeDoFilter)) {
this.responseHeadersSetBeforeDoFilter = new Boolean(responseHeadersSetBeforeDoFilter).booleanValue();
}
}

public void destroy() {}

protected void doFilterInternal(ServletRequest request, ServletResponse response, FilterChain chain, String exportFileName) throws IOException, ServletException {

//导出时中文文件名为乱码的问题解决
String encoding=request.getCharacterEncoding();
if(encoding.equalsIgnoreCase("GBK")){
exportFileName =new String(exportFileName.getBytes("GBK"),"iso-8859-1");
}else if(encoding.equalsIgnoreCase("GB2312")){
exportFileName =new String(exportFileName.getBytes("GB2312"),"iso-8859-1");
}//如果是“utf-8”什么也不用干
if (responseHeadersSetBeforeDoFilter) {
setResponseHeaders((HttpServletResponse) response, exportFileName);
}
chain.doFilter(request, new ExportResponseWrapper((HttpServletResponse) response));
if (!responseHeadersSetBeforeDoFilter) {
setResponseHeaders((HttpServletResponse) response, exportFileName);
}

}
}

将web.xml中filter改为上面的即可

<filter>
<description>Extreme Table Export Filter</description>
<filter-name>eXtremeExport</filter-name>
<filter-class>上面的ExportFilter</filter-class>
<init-param>
<param-name>responseHeadersSetBeforeDoFilter</param-name>
<param-value>true</param-value>
</init-param>
</filter>

Oracle数据库乱码(字符集)问题解决方案

在国内外大中型数据库管理系统中,把ORACLE作为数据库管理平台的用户比较多。ORACLE 不论是数据库管理能力还是安全性都是无可非议的,但是,它在汉字信息的显示方面着实给中国用户带来不少麻烦,笔者多...
  • Baple
  • Baple
  • 2014年05月04日 18:03
  • 3957

Mysql导出导入乱码问题解决

MySQL从4.1版本开始才提出字符集的概念,所以对于MySQL4.0及其以下的版本,他们的字符集都是Latin1的,所以有时候需要对mysql的字符集进行一下转换,MySQL版本的升级、降级,特别是...
  • wangdeng1314
  • wangdeng1314
  • 2013年01月14日 15:52
  • 271

解决jsp中用户名是中文名的中文乱码问题

当我们登录用户名是中文时,在controller获得login.jsp页面传递过来的name时,会显示为乱码。 为什么会出现乱码呢? 因为在页面传递时,是按iso-8859-1编码的 那么如何解决中文...
  • JCY1009015337
  • JCY1009015337
  • 2016年12月22日 10:38
  • 750

phpMyAdmin数据导出乱码解决

phpMyAdmin数据导出乱码解决 在phpMyAdmin库中,数据显示是正常的 数据结构类型显示:gbk_chinese_ci 可是导出的数据出现...
  • qishuixian
  • qishuixian
  • 2016年11月18日 16:53
  • 1845

从CSV文件导入Hive出现中文乱码问题解决

关于HIVE中文乱码问题的解决办法,网上有很多帖子,然而很多都是基于LINUX终端显示字符的修改,其实上对于一些条件下的HIVE中文乱码问题是无法解决的,如从CSV文件导入到HIVE中出现的中文乱码问...
  • qq_15783243
  • qq_15783243
  • 2017年11月02日 14:03
  • 86

mysql数据导出乱码

早上有人都跟我说从mysql导出来的数据都是乱码的,里面的汉字都乱了,一个人跟我说我觉得没什么,应该是它哪里弄错了吧,之前项目组长发给我的版本还是没有问题的,然后,又一个,跟我说乱码了,我赶紧去看了看...
  • u013086062
  • u013086062
  • 2016年03月12日 13:59
  • 1791

oracle导出数据以及数据显示乱码的问题

昨天遇到一个oracle导出数据的问题,上网查了一下解决办法,如下 首先下载...
  • Sandrama
  • Sandrama
  • 2014年08月24日 13:28
  • 1655

用sqlyog导出csv出现乱码

点击’Fill Excel Friendly Values‘,在'NULL value replaced by'处将\N删掉(如果不点击Fill Excel Friendly Values,则所有值默...
  • YABIGNSHI
  • YABIGNSHI
  • 2016年06月12日 17:26
  • 3587

导出CSV文件中的乱码

问题概述 如今的AUT导出csv文件的功能已经相当的常见,而打开文件后内容显示为乱码的现象也着实屡见不鲜,即便编码时候特意指定了码表为UTF-8,如下所示。 public void exportC...
  • spring1208
  • spring1208
  • 2017年07月03日 22:15
  • 838

导出csv文件中文乱码问题

编码相关基础: 参考http://blog.csdn.net/youyue/article/details/4580402 http://blog.163.com/asd_wll/blog/sta...
  • wangfei111g
  • wangfei111g
  • 2015年11月12日 10:35
  • 5748
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:extremecomponents extremetable的导出时中文文件名为乱码的问题解决
举报原因:
原因补充:

(最多只允许输入30个字)