一、不要使用jdk的ZipOutputStream这个压缩工具类
要换成这apache的这两个包
import org.apache.tools.zip.ZipOutputStream;
import org.apache.tools.zip.ZipEntry;
依赖如下
<dependency><groupId>ant</groupId><artifactId>ant</artifactId><version>1.6.5</version></dependency>
具体代码
ZipOutputStream zipOutputStream = new ZipOutputStream(os)zipOutputStream.setEncoding("UTF-8");
一般情况下如果改了依赖并设置了编码,就会没问题了!!!!
如果问题还没有解决接着往下看
如果zip包里的文件名字还是乱码 请看如下操作 如果是zip包名乱码把644换成755就行
ZipEntry entry = new ZipEntry(fileNameExcel);entry.setUnixMode(644);