String userAgent = request.getHeader("User-Agent").toLowerCase();

if(userAgent.contains("safari") && !userAgent.contains("chrome")){

//处理safari的乱码问题

byte[] bytesName = fileName.getBytes("UTF-8");

fileName = new String(bytesName, "ISO-8859-1");

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

}else{

if ("zh".equals(language)) { //中文状态下转码  英文不用转码  用 iso-8859-1 转码文件名称如果包含特殊符号下载 会报错

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

}

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

}

java 中文转码_java 下载文件中文名称转码详解相关推荐

  1. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  2. java 下载db文件_Java下载文件自定义名称和格式类型

    response.setContentType()的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据,可以设置文件格式.参考数据如下: re ...

  3. java文件下载controller_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  4. java获取扩展名_Java获取文件扩展名称

    有时在处理文件时,需要根据文件类型对它们进行不同的处理. java.io.File没有任何获取文件扩展名的方法,这里提供了一个实用工具方法来获取文件扩展名. Java获取文件扩展名 在句点(.)之后, ...

  5. java.exe 安装程序_java实现可安装的exe程序实例详解

    java实现可安装的exe程序实例详解 通过编写Java代码,实现可安装的exe文件的一般思路: 1.在eclipse中创建java项目,然后编写Java代码,将编写好的Java项目导出一个.jar格 ...

  6. ajax实现下载文件进度条及方法详解

    javascript使用ajax下载文件进度条实现 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu ...

  7. java设计模式观察者模式吗_Java设计模式之观察者模式原理与用法详解

    Java设计模式之观察者模式原理与用法详解 本文实例讲述了Java设计模式之观察者模式原理与用法.分享给大家供大家参考,具体如下: 什么是观察者模式 可以这么理解: 观察者模式定义了一种一对多的依赖关 ...

  8. java list 重复数据_java 查找list中重复数据实例详解

    java 查找list中重复数据实例详解 需求: 查找一个List集合中所有重复的数据,重复的数据可能不止一堆,比如:aa, bb, aa, bb, cc , dd, aa这样的数据.如果有重复数据, ...

  9. java生成字符串数组_Java 生成随机字符串数组的实例详解

    Java 生成随机字符串数组的实例详解 利用Collections.sort()方法对泛型为String的List 进行排序.具体要求: 1.创建完List之后,往其中添加十条随机字符串 2.每条字符 ...

最新文章

  1. MySQL笔记-utf8和utfmb4
  2. 8位16位32位单片机区别
  3. mysql text 查询速度_数据库学习之让索引加快查询速度(四)
  4. 一打开就致命错误_AutoCAD致命错误:Unhandled Delayloadquot;D3DCOMPILER_47.dll
  5. opengl es3.0学习篇八:纹理
  6. Computex电脑展:AMD表现抢眼,融合将成市场主流
  7. Quartus中Tools->Netlist Viewers->RTL Viewer
  8. 011 使用AOP操作注解
  9. Android NFC开发(一)
  10. 计算机无法安装蓝牙驱动,windows10系统安装蓝牙驱动图文教程|windows10系统如何安装蓝牙驱动...
  11. 基于FPGA的中值滤波器设计
  12. win7计算机怎么录屏,怎么用win7系统的电脑录屏
  13. Ribbon界面开发
  14. 高阶面试官应掌握哪些面试技巧
  15. 怎样在PDF文件上添加印章
  16. 视觉层次设计方法论:提升界面设计的易读性
  17. 高德地图——步行导航
  18. 三菱FX3Uplc控制的三轴程序通用编程,程序带有注解,有原点回归,机器手加减速设置
  19. 汾阳哪里有计算机培训班,汾阳市2020年第六期 吕梁山护工培训班开班
  20. JavaScript---网络编程(8)-DHTML技术演示(1)

热门文章

  1. 冯诺依曼计算机结构的中心,冯·诺依曼计算机是以什么为中心的
  2. Ubuntu apt卸载
  3. 基于Java的长整数加减法算法设计
  4. 微信退款关于证书的使用
  5. PHP---保留小数并且(不)四舍五入
  6. js 时间戳与日期时间的相互转换
  7. Win10 下安装Ubuntu 16.04双系统详解
  8. memcpy与strcpy的实现与区别
  9. 期权、期货及其他衍生产品 第四章读书笔记 利率
  10. c语言余弦函数,C语言编写余弦函数曲线