unzip解压出的文件名称是乱码?
如果是用第三方压缩程序压缩的文件或文件夹名称不是英文,用以下函数解压后就会乱码。
太菜不知如何不乱码,求解。
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.Mkdir优艾设计网_在线设计All(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 }
精彩评论