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

文件下载IE中文乱码问题

    博客分类:
  • java
阅读更多

 

浏览器能正确识别的编码格式,只要按照这样的编码来设置对应的Content-Disposition,那么应该就不会出现中文文件名的乱码问题了。 
首先,Content-Disposition值可以有以下几种编码格式 
1. 
直接urlencode 

    Content-Disposition: attachment; filename="struts2.0%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B.chm" 

2. Base64
编码: 

    Content-Disposition: attachment; filename="=?UTF8?B?c3RydXRzMi4w5Lit5paH5pWZ56iLLmNobQ==?=" 

3. RFC2231
规定的标准: 

    Content-Disposition: attachment; filename*=UTF-8''%E5%9B%9E%E6%89%A7.msg 

4. 
直接ISO编码的文件名: 

    Content-Disposition: attachment;filename="
测试.txt" 

然后,各浏览器支持的对应编码格式为: 

1.  IE
浏览器,采用URLEncoder编码 
2.  Opera
浏览器,采用filename*方式 
3.  Safari
浏览器,采用ISO编码的中文输出 
4.  Chrome
浏览器,采用Base64编码或ISO编码的中文输出 
5.  FireFox
浏览器,采用Base64filename*ISO编码的中文输出 

 

实例代码:

 String agent = request.getHeader("USER-AGENT");
                if(agent != null && agent.indexOf("MSIE") != -1) {
                    fileName = URLEncoder.encode(fileName,"UTF8");
                } else {
                    fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
                }
                response.setContentType("application/octet-stream;charset=UTF-8");
                response.setHeader("Content-Disposition","attachment; filename=\"" + fileName +"\"");
                try {
                    FileCopyUtils.copy(new FileInputStream(file),response.getOutputStream());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

 

分享到:
评论

相关推荐

    Java Web文件下载,解决了使用IE11下载文件时所出现的乱码问题

    分析这个文件可以帮助我们深入理解解决IE11下载文件乱码问题的方法。具体来说,这个文件可能包含了Servlet的实现,通过设置正确的HTTP响应头,确保文件名在下载过程中正确显示。 总的来说,解决Java Web中IE11下载...

    ie7 搜索乱码修正

    这个.ie7 搜索乱码修正.reg文件很可能包含了修改浏览器默认编码设置的注册表项,用于修复ie7的搜索乱码问题。 当用户下载并解压缩该文件后,他们需要按照描述操作:首先确保Internet Explorer已关闭,然后双击运行....

    AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题

    ### AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题 #### 背景与问题概述 在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如...

    Struts2文件上传下载 中文乱码

    在Struts2框架中,文件上传和下载是常见的功能需求,但处理中文文件名或内容时,可能会遇到中文乱码的问题。这个问题主要涉及到字符编码的处理,包括HTTP请求的编码、文件名的编码以及文件内容的编码。接下来,我们...

    Struts2下载文件中文乱码处理

    在Web开发中,使用Struts2框架进行文件下载操作时,经常遇到的一个问题是文件名中的中文字符显示为乱码。这主要是因为浏览器和服务器之间的编码不一致所导致的。为了确保用户能够正确地看到文件名中的中文字符,需要...

    解决不同浏览器下载时中文名乱码问题

    ### 解决不同浏览器下载时中文名乱码问题 在Web开发过程中,经常遇到的一个问题是当用户尝试下载包含中文字符的文件名时,会出现乱码的情况。这是因为不同的浏览器处理文件名编码的方式有所不同,导致服务器端设置...

    Java实现文件下载并解决中文文件名乱码

    本文将详细介绍如何使用Java实现文件下载功能,并重点讲解如何解决中文文件名乱码的问题。 #### 一、基本原理与步骤 1. **读取文件**:首先需要将要下载的文件读取到内存中。 2. **设置响应头**:为了正确地告知...

    servlet中文乱码问题

    通过修改Tomcat配置文件中的`URIEncoding`属性以及在Servlet中通过`response.setContentType()`和`request.setCharacterEncoding()`方法来设置字符编码,可以有效解决中文乱码问题。此外,还可以通过字符集转换的...

    IE浏览器下拉框出现乱码的问题

    用户可以下载并安装这个字体,以解决在IE浏览器下拉框中出现的乱码问题。在安装字体时,只需找到文件,双击运行,然后按照提示操作即可。 总之,解决IE浏览器下拉框乱码问题需要综合考虑网页编码、服务器响应、...

    IE 浏览器在get请求下中文乱码的问题.zip

    本主题聚焦于一个常见问题——“IE浏览器在GET请求下中文乱码的问题”。这涉及到字符编码、HTTP协议以及浏览器解析网页的方式等多个知识点,我们将详细探讨这些问题及其解决方案。 首先,我们需要理解GET请求。在...

    彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题

    彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题 本文用 C# 代码解决了在目前四种流行浏览器中Asp.net 输出文件流时文件名的空格及中文字符乱码这两个问题。使用本文的代码,你将可以让 IE...

    解决浏览器请求响应中文文件名乱码问题的小工具包,解决中文文件名问题

    首先,我们需要理解问题的核心:浏览器在请求服务器上的资源,特别是文件时,如果文件名包含中文字符,可能会因为编码不一致导致乱码。这主要涉及到字符编码的两个关键概念——Unicode和字符编码转换。 1. **...

    奇怪的struts2的中文乱码问题及解决.docx

    此外,对于其他可能出现的IE中文乱码问题,开发者也可以从以下几个方面进行排查和解决: 1. 检查并确保服务器端的字符集设置正确,如Tomcat的`server.xml`中的`URIEncoding`属性应设置为UTF-8。 2. 确保HTML页面的`...

    文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf

    在处理Web应用中的文件下载功能时,经常遇到的问题之一就是文件名出现乱码,尤其是当文件名包含中文字符时。为了解决这一问题,本文将详细介绍如何通过Java Servlet技术中的response.setHeader()方法来设置正确的...

    详解关于java文件下载文件名乱码问题解决方案

    Java文件下载文件名乱码问题解决方案 Java 文件下载文件名乱码问题是指在下载 Java 文件时,文件名出现乱码现象,影响下载文件的正确性。这种问题通常有两种情况:一是下载时中文文件名乱码,二是下载时因为路径中...

    HTML5在IE10、火狐下中文乱码问题的解决方法.docx

    总结来说,解决HTML5在IE10和Firefox下的中文乱码问题,关键在于确保所有环节——从文件编码到HTML头部声明,再到服务器配置和浏览器设置——都一致地使用UTF-8字符编码。遵循这些步骤,你应该能够避免或解决中文...

    CHM文件打开乱码问题解决方案

    然而,在使用过程中,不少用户遇到CHM文件打开时出现乱码的问题,这严重影响了文档的可读性和实用性。本文将深入探讨CHM文件乱码的原因,并提供一系列解决方案。 #### 一、CHM文件乱码原因分析 1. **编码不匹配**...

    JSP中文乱码问题解决办法

    在IT领域,尤其是在Web开发中,JSP(JavaServer Pages)中文乱码问题是一个常见的困扰。JSP是一种基于Java的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现服务器端的动态渲染。当涉及到中文字符时,...

Global site tag (gtag.js) - Google Analytics