java批量下载乱码问题

发布于 2021-11-30 07:19:13 字数 308 浏览 823 评论 6

系统有个打包批量下载excel报表数据的功能,

我是先用url下载方式去报表服务器下载,保存到web服务器上,文件名是报表的名称,含有中文,

然后多个excle打包成zip在下载给客户端,zip的文件名是年月日时分秒不会乱码,但是下载后客户端打开zip

包,excle文件名有的是乱码,有的不是。excle里面的数据含有中文的都不是乱码。

客户端win7,xp的系统都有,基本都使用的IE,服务器是SUSE LINUX,字符集en_US.UTF-8,项目的字符集

,应客户要求项目编码使用的GBK。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

拍不死你 2021-11-30 12:46:17

但是这样的话 应该全部是乱码啊。 为什么相同的几张报表打包下载,有的电脑上下载打包文件打开后文件名全部正常,有的电脑上下载打包文件打开后全部乱码

冷弦 2021-11-30 12:45:41

我感觉是在打包的时候乱码。应用服务在下载到utf-8编码的文件后,用gbk编码打包成了zip。

一个简单的测试是用 java 调用 linux zip指令去打包,打包好后下载到客户端。

海之角 2021-11-30 12:45:40

流程是这样的:我先到报表服务器下载excle到本地的前台程序服务,然后多个excle打包成zip后,下载给客户端,zip文件名是年月日时分秒的,没有乱码,但是相同的zip,有些客户端下载打开查看excle文件名是乱码,有些不是乱码,你的这句话我的代码中有

狼亦尘 2021-11-30 12:40:37

回复
有一部分是从前台传过去的吗?

蓝颜夕 2021-11-30 12:33:40

回复
传的是报表的编号 然后去下载报表 打包

臻嫒无言 2021-11-30 10:09:48
response.setHeader("Content-disposition", "attachment; filename="
                    + URLEncoder.encode(fileName, "utf-8"));

在后台加一个这样的就好了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文