java下载文件名乱码如何解决

1290
2024/2/8 17:37:27
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中下载文件时,可能会出现文件名乱码的情况,这通常是由于编码问题导致的。解决方法如下:

  1. 设置下载文件的文件名编码格式为UTF-8:
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
  1. 使用Apache Commons IO库中的FilenameUtils类来处理文件名编码:
String encodedFileName = FilenameUtils.encodeFileName(request, fileName);
response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName);
  1. 使用javax.servlet.http.HttpServletResponse类中的setHeader方法设置文件名编码:
response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8"));

通过以上方法,可以解决Java下载文件名乱码的问题,确保下载的文件名正确显示。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Java中oom异常的原因有哪些