FileOutputStream fos = new 
            FileOutputStream(entry.getName());
这一句,你把entyr.getName()换成ISO编码看看

解决方案 »

  1.   

    String str=entry.getName();
    str=new String(str.getBytes("ISO-8859-1"),"GBK");
    FileOutputStream fos = new 
                FileOutputStream(str);
    是这样吗??CEO.好象还是不行哎
      

  2.   

    即时你的name的到了正常显示,但是你还是不能unzip的,我所知道的办法里是修改jdk的 ZipInputStream的源文件
      

  3.   

    jdk的源代码不支持,要自己修改jdk的源代码才行。
      

  4.   

    str=new String(str.getBytes("ISO-8859-1"),"GBK");
    FileOutputStream fos = new 
                FileOutputStream(str);这种方法可以试一试,但是我的转换好像字符不是完全的实现,有一些不能实现!
      

  5.   

    在jdk代码中加上自己的ZipInputStream ,ZipOutputStream 把编码变一下,记得一个台湾网站写过
      

  6.   

    好像是 UTF编码的吧str=new String(str.getBytes("UTF-8"),"GBK");