在Jsp导出word时,文件名成了乱码。
示例:
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="java.net.URLEncoder"%>
<%
response.setContentType("application/msword");
response.setHeader("Content-Disposition","attachment; filename=测试中文");
%>
<html>
<head></head>
<body>
这只是一个测试
</body>
</html>
一般我们看见page contentType="text/html;charset=GBK" ,自然就会认为用GBK对中文进行编码,
response.setHeader("Content-Disposition","attachment; filename="+URLEncoder.encode("测试中文", "GBK"));
由于windows系统是用uncode存储文件名和文件夹名的,所以这里应该用UTF-8进行编码才对。
response.setHeader("Content-Disposition","attachment; filename="+URLEncoder.encode("测试中文", "UTF-8"));
说明:
Linux环境下暂时未测试。
本文介绍了一种解决JSP导出Word文件时文件名出现乱码的方法。通过使用正确的编码方式(UTF-8),可以有效避免Windows系统下因文件名编码不匹配导致的问题。
1441

被折叠的 条评论
为什么被折叠?



