python3 zipfile解压文件 出现文件名为乱码解决方案!!!!

这个问题我在自己代码中跟中转换编码都不行,总出错!

介绍一种便捷方法,直接改源码:

直接找到zipfile.py文件

第一处:

1  if zinfo.flag_bits & 0x800:
2                 # UTF-8 filename
3                 fname_str = fname.decode("utf-8")
4             else:
5                 # fname_str = fname.decode("cp437")
6                 # todo:我添加的
7                 fname_str = fname.decode("gbk")

第二处:

1             if flags & 0x800:
2                 # UTF-8 file names extension
3                 filename = filename.decode('utf-8')
4             else:
5                 # Historical ZIP filename encoding
6                 # filename = filename.decode('cp437')
7                 # todo:我添加的
8                 filename = filename.decode('gbk')

完美解决!!!!

原文地址:https://www.cnblogs.com/alexzu/p/9818837.html