`
xfjt297857539
  • 浏览: 152212 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jsp 导出excel文件,文件名含有中文 出现乱码 解决方案

    博客分类:
  • java
 
阅读更多
jsp 导出excel文件,文件名含有中文 出现乱码 解决方案
方案一:

       public String toUtf8String(String s){
              StringBuffer sb = new StringBuffer();
              for (int i=0;i<s.length();i++){
                  char c = s.charAt(i);
                if (c >= 0 && c <= 255){sb.append(c);}
                 else{
                     byte[] b;
                     try { b = Character.toString(c).getBytes("utf-8");}
                     catch (Exception ex) {
                         System.out.println(ex);
                         b = new byte[0];
                     }
                     for (int j = 0; j < b.length; j++) {
                         int k = b[j];
                         if (k < 0) k += 256;
                         sb.append("%" + Integer.toHexString(k).toUpperCase());
                     }
                }
             }
             return sb.toString();
         }

测试方法:

   String utf8;
   try {
    utf8 = new String(toUtf8String("全部合计_2011_4_17.xls").getBytes(), "UTF-8");
    System.out.println("utf8******1**********"+utf8);//结果为:utf8******1**********%E5%85%A8%E9%83%A8%E5%90%88%E8%AE%A1_2011_4_17.xls
   } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

原理是:浏览器或迅雷它们不能直接识别中文字符,虽然你在导出页面上已把中文字符转为utf-8编码格式了,但是浏览器或迅雷还是不能识别的,只有类似%E5%85%A8%E9%83%A8%E5...编码格式它们才能识别。



方案二:    URLEncoder.encode(f.getName(),"UTF-8"); 

原理: 把要被下载的文件的文件名转成utf-8格式的,能够让浏览器或迅雷识别的名字。


分享到:
评论

相关推荐

    jsp导出excel一般问题及汇总

    本篇文章主要探讨了在使用JSP导出Excel时可能会遇到的一般性问题及其解决方案。 一、导出Excel的基本流程 1. 数据准备:首先,你需要从数据库或其他数据源获取要导出的数据,将其组织成二维数组或集合。 2. 创建...

    使用jsp下载excel文件

    ### 使用JSP下载Excel文件知识点解析 #### 一、引言 在Web开发中,经常需要将服务器上生成的数据导出为Excel文件供用户下载。本文档将详细介绍如何使用Java Server Pages (JSP) 实现从服务器端下载Excel文件到...

    导出jsp页面为excel文档

    "导出jsp页面为excel文档"这个话题,主要涉及的是如何在Java环境中,利用JSP(JavaServer Pages)技术生成Excel报表,并通过浏览器以下载或直接打开的方式呈现给用户。 首先,我们要明白,JSP是一种基于Java的...

    ssh整合web导出excel案例.docx

    - **Service代码**:实现导出Excel的具体逻辑,包括解决文件名中文乱码问题。 - **DAO代码**:可能涉及查询数据库获取需要导出的数据。 5. **JSP页面** - **index.jsp**:主页,提供导出链接或按钮。 - **list....

    OpenReports中文支持完全解决方案(新)

    4. **导出文件名及内容支持中文**:导出的文件名和文件内容在中文环境下可能出现乱码,这不仅影响用户的使用体验,还可能导致文件无法正常打开。 #### 二、解决方案及方法 接下来详细介绍如何解决上述问题: 1. *...

    word__xls文件导出

    在IT领域,特别是Web开发与办公自动化处理中,将数据从服务器端导出为常见的办公文件格式,如Word(.doc或.docx)和Excel(.xls或.xlsx),是一项非常实用且频繁的需求。这一过程涉及到的技术包括但不限于Java、...

    Java Web开发中对Excel文件的读写实现 (1).pdf

    在Java Web开发中,处理Excel文件的读写是一项常见的任务,尤其在企业级应用中,数据导入导出的需求频繁出现。Java提供了多种库来支持这种功能,其中jxl是一个广泛使用的开源工具,允许开发者通过Java代码操作Excel...

    利用 进行IE数据导出

    给出的部分代码示例展示了如何在JSP(Java Server Pages)中设置响应头,以便通过IE浏览器导出数据到Excel文件: ```jsp &lt;%@page contentType="application/vnd.ms-excel;charset=UTF-8" language="java"%&gt; ...

    java创建及在线打开或下载excel.doc

    Java 创建及在线打开或下载 Excel 文件是常见的需求,特别是在 Web 应用中,例如报表生成、数据导出等场景。以下将详细介绍如何使用 Java 实现这个功能,主要涉及的库是 JExcelApi。 JExcelApi 是一个开源的 Java ...

    FusionCharts使用之保存图片.doc

    值得注意的是,对于中文支持存在局限,可能会出现乱码问题。 - `exportFileName='我自定义的文件名'`:自定义导出文件的名称,便于识别和管理。 - `exportAtClient='0'`:确定是否仅在客户端执行导出操作,此处设置...

    2021-2022计算机二级等级考试试题及答案No.17145.docx

    7. 数据库对象导出:通常,数据库对象可以导出到Microsoft Excel格式,便于分析和处理(正确答案:B)。 8. 电子邮件乱码:收到的邮件出现乱码通常是由于编码不统一,导致字符无法正确显示(正确答案:D)。 9. ...

Global site tag (gtag.js) - Google Analytics