`
smiky
  • 浏览: 257814 次
  • 性别: Icon_minigender_1
  • 来自: 天门
社区版块
存档分类
最新评论

servlet下载文件名称乱码

阅读更多

文件名为fileName="人员信息表"+sessionid+".xls";:

response.setContentType("application/vnd.ms-excel;charset=UTF-8");

response.setHeader("Content-disposition","attachment;filename="+fileName);

这样肯定会出现乱码

 

fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");

如果加上这步处理,在firefox系浏览上正常

看下抓包显示:

Content-disposition: attachment;filename=%E4%BA%BA%E5%91%98%E4%BF%A1%E6%81%AF%E8%A1%A8A62A652E0F8A27B5B4B4F09FCC11B4C7.xls

Content-Type: application/vnd.ms-excel;charset=UTF-8

很明显可以看出是中文的UTF-8经iso传输

 

对于IE刚不同:

 fileName = URLEncoder.encode(fileName, "UTF-8");

Content-disposition: attachment;filename=...............DE043979618C4EB99C305E284B7DE90A.xls

Content-Type: application/vnd.ms-excel;charset=UTF-8

 ...在抓到的数据中显示为实体如:\344\272\272等等

 

所以要根据浏览器进行判断

if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)

fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");//firefox浏览器

else 

    if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0)

    fileName = URLEncoder.encode(fileName, "UTF-8");//IE浏览器

 

 

分享到:
评论

相关推荐

    基于servlet的文件下载代码

    ### 基于Servlet的文件下载技术解析 #### 一、引言 在Web应用程序开发过程中,文件上传和下载是常见的需求之一。特别是在企业级应用中,用户经常需要下载诸如报告文档、数据备份等文件。Java Servlet作为一种强大...

    jsp+servlet实现文件下载

    * 文件下载时出现乱码 * 文件下载时出现安全警告 这些问题可以通过对 Servlet 的优化和调整来解决。 使用 JSP+Servlet 实现文件下载可以满足大多数的文件下载需求。通过配置 web.xml、编写 Servlet 类和在 JSP ...

    java导出excel文件并且下载到客户端(包括解决中文乱码).txt

    ### Java导出Excel文件并下载到客户端(含解决中文乱码问题) 在现代的企业级应用开发中,数据导出功能是非常常见的一种需求。特别是在B/S架构的应用中,用户经常需要将查询结果导出为Excel文件以便进行后续的数据...

    jsp和servlet操作mysql中文乱码问题的解决办法.docx

    解决 JSP 和 Servlet 操作 MySQL 中文乱码问题的方法 在 JSP 和 Servlet 操作 MySQL 过程中,中文乱码问题是一个常见的问题,而解决这个问题需要从多方面入手,包括 JSP 页面、Servlet 编程和 Filter 配置等。本文...

    java+jsp+servlet 文件下载

    ### Java + JSP + Servlet 实现文件下载技术详解 #### 技术背景及应用场景 在Web应用开发过程中,实现文件的上传与下载是一项常见的需求。Java作为一种广泛使用的编程语言,在结合JSP(JavaServer Pages)和...

    解决post get 请求乱码问题

    例如,在 Servlet 中,我们可以使用以下代码: ```java String userName = new String(request.getParameter("userName").getBytes("ISO8859-1"), "utf-8"); ``` 这里,我们首先使用 ISO8859-1 编码(这是 Tomcat ...

    servlet的程序编写的乱码处理

    ##### 3.4 文件下载时的乱码 在进行文件下载时,文件名如果包含中文字符,可能会出现乱码问题。解决方法是在设置响应头时对文件名进行编码。 ```java protected void doGet(HttpServletRequest request, ...

    Servlet文件上传所需的jar

    Servlet文件上传是Web开发中一个常见的需求,尤其是在处理用户通过表单提交的包含文件的数据时。在Java Servlet环境中,为了实现文件上传功能,通常需要引入两个关键的库:`commons-fileupload`和`commons-io`。这两...

    freemarker 中文乱码解决

    1. **模板文件的编码**:如果模板文件的编码与Freemarker期望的编码不一致,就可能出现乱码。 2. **数据模型的编码**:当数据模型中的中文字符编码与模板引擎的默认编码不匹配时,也会导致乱码。 3. **页面输出的...

    servlet过滤器配置,解决JSP的所有乱码

    在标题“servlet过滤器配置,解决JSP的所有乱码”和描述“JSP页面获得servlet是不是经常出现乱码呢?很烦人哦,那就试试这个吧,可以解决所有的乱码,里面有说明教你怎么配”中,主要涉及的知识点是通过配置Servlet...

    解决中文乱码问题

    对于Servlet接收Form/Request传递的参数时显示为乱码的问题,我们可以通过在用到request方法的前面加上:request.setCharacterEncoding("GBK");来解决。 在数据库存取的时候产生乱码的问题,我们可以通过选择UTF-8...

    java下载时文件名乱码

    以下是一个简单的Java Servlet示例,用于处理文件下载: ```java import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; public class DownFileServlet ...

    servlet中使用smart实现上传和下载实例(解决中文名问题)

    在这个特定的实例中,我们利用Smart框架来实现文件的上传和下载功能,同时解决了中文文件名的问题。Smart是一个轻量级的Java Web框架,它简化了处理HTTP请求和响应的过程,特别适合于文件操作。 首先,我们需要理解...

    JSP_利用Filter解决Servlet输出中文乱码的问题.docx

    JSP_利用Filter解决Servlet输出中文乱码的问题主要涉及以下几个核心知识点: 1. **Filter接口**:`javax.servlet.Filter`是Java Servlet API中的一部分,它提供了一种在请求到达目标Servlet或JSP之前对其进行拦截并...

    简单的servlet例子

    在`web.xml`文件中,我们定义了Servlet的元数据,包括Servlet的名称和类名,以及映射到Servlet的URL路径。 - `<servlet>`元素定义了一个Servlet,`servlet-name`属性指定Servlet的唯一名称,`servlet-class`属性...

    访问JSP文件或者Servlet文件时提示下载的解决方法

    然而,在实际操作中,可能会遇到一个常见的问题,即访问JSP或Servlet文件时,浏览器不是正常显示页面内容,而是提示下载该文件。这个问题通常是由MIME类型设置不正确导致的。 MIME类型(Multipurpose Internet Mail...

    解决乱码问题工具类的使用.docx

    在IT行业中,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码通常是由于字符编码不一致或不正确导致的,这可能导致显示的文本无法识别或者出现奇怪的符号。为了解决这个问题,开发者通常会创建特定的工具类...

    完美解决在Servlet中出现一个输出中文乱码的问题

    在Servlet开发过程中,输出中文字符时经常遇到乱码问题,这主要是由于字符编码不一致导致的。...在实际开发中,还应注意其他可能引起乱码的因素,如IDE配置、文件编码等,确保整个开发环境和项目配置的一致性。

    struts2上传下载 解决中文文件名乱码

    通过上述实践和调试,我们已经成功解决了Struts2框架下中文文件名上传和下载的乱码问题。在遇到类似问题时,可以按照这些步骤进行排查和修复。记住,关键在于正确配置Struts2的拦截器、请求编码以及在处理文件名时...

    jsp和servlet请求与响应

    本文详细介绍了JSP和Servlet中关于请求与响应的关键知识点,包括JSP内置对象的作用、请求与响应对象的使用方法、中文乱码问题及其解决办法、转发与重定向的区别以及Servlet的基本创建和配置流程。希望这些内容能够...

Global site tag (gtag.js) - Google Analytics