unzip解压出的文件名称是乱码 财富值37

2016-11-05 18:05发布

如果是用第三方压缩程序压缩的文件或文件夹名称不是英文,用以下函数解压后就会乱码。
太菜不知如何不乱码,求解。

func Unzip(src, dest string) error {      reader, err := zip.OpenReader(src)     if err != nil {         return err     }      defer reader.Close()      for _, f := range reader.File {         rc, err := f.Open()         if err != nil {             log.Fatal(err)             return err         }          defer rc.Close()          fpath := filepath.Join(dest, f.Name)          if f.FileInfo().IsDir() {             err = os.MkdirAll(fpath, 0755)              if err != nil {                 log.Fatal(err)                 return err             }         } else {             var fdir string             if lastIndex := strings.LastIndex(fpath, string(os.PathSeparator)); lastIndex > -1 {                 fdir = fpath[:lastIndex]             }              if len(f.Name) < 150 {                  err = os.MkdirAll(fdir, 0755)                 if err != nil {                     log.Fatal(err)                     return err                 }                  fi, err := os.OpenFile(fpath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())                 if err != nil {                     log.Fatal(err)                     return err                 }                  defer fi.Close()                  _, err = io.Copy(fi, rc)                 if err != nil {                     log.Fatal(err)                     return err                 }             }         }     }      return nil }
友情提示: 问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
0条回答

一周热门 更多>