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/e0Dt 著作权归作者所有。请勿转载和采集!

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