`
xueguiping
  • 浏览: 46692 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

下载中文件名乱码解决方案

    博客分类:
  • jsp
阅读更多

有很多在bs开发中遇到过下载问题,在这里我讲一下我工作中遇到下载文件名为乱码的情况:

一般在下载的时候,我们都会加上

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

这句话,目的是让浏览器能正确解析文件名

如果在你几经努力的转换filename(文件名)也不管用的话,可以试一下我的方法

java 代码
  1. public static String toUtf8String(String source) {   
  2.   StringBuffer sb = new StringBuffer();   
  3.   for (int i = 0; i < source.length(); i++) {   
  4.    char c = source.charAt(i);   
  5.    if (c >= 0 && c <= 255) {   
  6.     sb.append(c);   
  7.    } else {   
  8.     byte[] b;   
  9.     try {   
  10.      b = Character.toString(c).getBytes("UTF-8");   
  11.     } catch (Exception ex) {   
  12.      System.out.println(ex);   
  13.      b = new byte[0];   
  14.     }   
  15.     for (int j = 0; j < b.length; j++) {   
  16.      int k = b[j];   
  17.      if (k < 0) {   
  18.       k += 256;   
  19.      }   
  20.      sb.append("%" + Integer.toHexString(k).toUpperCase());   
  21.     }   
  22.    }   
  23.   }   
  24.   return sb.toString();   
  25.  }   
  26.   

是让文件名都转成UTF-8格式

希望这个方法能解决你们的难题

 

0
0
分享到:
评论

相关推荐

    Java中压缩与解压--中文文件名乱码解决办法

    ### Java中压缩与解压——中文文件名乱码解决办法 #### 一、问题背景及原理分析 在Java中处理文件的压缩与解压时,经常会遇到中文文件名出现乱码的问题。这个问题主要源于Java中默认使用的编码方式与实际文件名...

    ASP.NET 解决下载文件名乱码问题

    本文将深入探讨如何在ASP.NET中解决下载文件名乱码的问题,通过分析代码示例,提供实用的解决方案。 ### 理解文件名乱码的原因 文件名乱码主要是由于编码格式不一致导致的。当服务器端和客户端对同一字符串的编码...

    welogic struts2文件下载中文件名乱码:在tomcat中是好的哦

    本文将深入探讨在WeLogic服务器中使用Struts2框架进行文件下载时遇到的文件名乱码问题,并提供详细的解决方案。 ### 文件名乱码现象分析 在WeLogic服务器中使用Struts2进行文件下载时,用户可能会遇到文件名显示为...

    服务器下载word乱码解决方案(文件名乱码、内容乱码)

    往往开发环境和生产环境在环境部署时会遇到很多奇怪的问题,此次word文档下载就被卡住了,通过一番努力终于找到了原因,分享给大家。上传文件txt格式,内有方法详细的代码注释及原因说明,jar包比较常见,大家自行...

    解决JMeter上传包含中文文件名乱码ApacheJMeter_http.jar

    总之,解决JMeter上传中文文件名乱码问题需要对JMeter的源代码有深入的理解,并能针对性地进行修改。通过确保正确处理文件名的编码,我们可以避免在测试过程中遇到的乱码困扰,从而提高测试的准确性和效率。

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

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

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

    总的来说,"DownLoadUtils"工具包通过提供一套完整的解决方案,简化了处理中文文件名在浏览器请求响应中乱码问题的过程,提高了开发效率,并确保了用户体验。对于从事Web开发的人员来说,理解和运用这类工具是提高...

    java下载时文件名乱码

    在Java编程中,遇到“java下载时文件名乱码”的问题通常是由于编码不一致或处理不当造成的。在处理文件下载时,尤其是从Web服务器下载带有非ASCII字符的文件名时,这种问题尤为常见。让我们深入探讨这个问题,并提供...

    zip库(解决文件名中文乱码问题).zip

    "zip库(解决文件名中文乱码问题).zip" 提供了一个针对C++编程语言的解决方案,专门用于处理ZIP文件中中文文件名的乱码问题。这个问题在处理包含非ASCII字符(例如中文字符)的文件时经常出现,因为标准的ZIP库可能不...

    部署到linux服务器文件名乱码问题

    #### 三、解决方案 经过多次尝试,最终决定采取一种更直接的方式来解决问题:使用Linux的scp命令(或rsync命令)直接在两台Linux服务器之间传输文件。这种方式避免了中间传输过程中可能出现的编码转换问题。 #####...

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

    本文将深入探讨这个问题及其解决方案,同时也会介绍HTTP消息头的相关知识。 首先,我们要明白HTTP消息头在文件下载过程中的重要性。HTTP协议是基于请求-响应模型的,消息头在请求和响应中扮演着传递元信息的角色。...

    ubuntu 下文件名乱码总结

    Ubuntu 文件名乱码解决方案总结 在 Ubuntu 系统中,文件名乱码是一个常见的问题,主要是由于编码问题引起的。以下是解决 Ubuntu 文件名乱码的总结,包括 GBK 乱码和 ASCII 乱码两种情况。 GBK 乱码 GBK 乱码的...

    成功解决 Android 下载中文文件名

    这种编码不一致会导致文件名乱码。 解决方案 要解决这个问题,我们需要从两个方面入手:服务器端和 Android 客户端。 服务器端 在服务器端,我们需要设置服务器的编码为 UTF-8。这可以在 Tomcat 服务器的配置...

    下载中文名称出现乱麻解决方案

    ### 下载中文名称出现乱码解决方案 #### 一、背景介绍与问题描述 在进行Java Web应用程序开发过程中,经常会遇到用户需要下载文件的情况。如果这些文件的名称包含中文字符,在某些浏览器或操作系统环境下,可能会...

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

    这个问题在早期的互联网资源中被广泛讨论,但并非所有解决方案都能适用于所有情况。下面我们将深入探讨这个问题,并提供一种经过验证的有效方法。 首先,我们需要理解乱码问题的根源。在Java中,默认的字符编码通常...

    adb push不支持中文乱码的解决方案

    1.android adb push不支持中文乱码的解决方案. 2.在windows底下文件(夹)命名所采用的是GBK编码,而在Android中采用的UTF-8编码,所有使用adb 的push和pull命令时就会导致由于编码方式的不同而产生的错误,解决这一...

    FlashFXP中文乱码解决方案

    ### FlashFXP中文乱码解决方案 #### 背景与问题概述 在使用FlashFXP进行文件传输时,用户可能会遇到中文字符显示为乱码的问题。这种情况不仅影响用户体验,还可能导致重要信息无法正确读取。因此,寻找有效的解决...

    win11、win10中文文件名称乱码(菱形黑框问号)解决方案.docx

    针对Win11和Win10系统中的中文文件名乱码问题,我们提供以下解决方案: ##### 步骤1:打开区域设置 - 使用快捷键`Win+R`调出运行对话框,输入`intl.cpl`,回车打开“区域”设置窗口。 - 或者在Windows搜索栏中输入...

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

    本篇文章主要针对这些问题提供了解决方案,以确保在IE(Internet Explorer)、Opera、Firefox和Chrome这四大主流浏览器中,文件下载时的文件名能够正确显示,不受空格或非ASCII字符的影响。 首先,让我们了解两个...

Global site tag (gtag.js) - Google Analytics