Java 默认使用的编码方式为 UTF-8,而 Windows 系统的文件名编码方式为 GBK。因此,在通过 Java 导出 Word 文档时,如果文件名中包含中文字符,就会出现乱码的情况。

为了解决这个问题,可以在导出文件时,将文件名转换为 GBK 编码格式。可以使用如下代码实现:

String fileName = '文件名.docx';
fileName = new String(fileName.getBytes("UTF-8"), "GBK");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);

其中,通过 getBytes("UTF-8") 将文件名转换为 UTF-8 编码格式,然后再通过 new String() 将其转换为 GBK 编码格式。最后,将转换后的文件名设置到 response 的 header 中即可。

Java 导出 Word 文件中文文件名乱码解决方案

原文地址: https://www.cveoy.top/t/topic/n0T1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录