Preface
In many cases, there is no problem compressing files under Windows, but under Linux, garbled characters appear, which is very common. In the past, under Ubuntu, you could just use `unzip -O GBK filename.zip`
. After switching to Fedora, no garbled compressed files were found yet. I downloaded a CD of a book at night and encountered garbled characters again. Tried the previous method without success. After looking at the help of unzip, there is no -O parameter == I just found a solution using python, please share it.
Create a new file with the `.py` suffix, copy and paste the code directly:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import zipfile print "Processing File " + sys.argv[1] file=zipfile.ZipFile(sys.argv[1],"r"); for name in file.namelist(): utf8name=name.decode('gbk') print "Extracting " + utf8name pathname = os.path.dirname(utf8name) if not os.path.exists(pathname) and pathname!= "": os.makedirs(pathname) data = file.read(name) if not os.path.exists(utf8name): fo = open(utf8name, "w") fo.write(data) fo.close file.close()
Execute the decompression zip file, and the lovely Chinese characters will appear. .
python 文件名.py 需要解压的文件名.zip
Summary
Okay, this question is as simple as that Solved, has everyone learned it? I hope this article can bring some help to everyone's study or work. If you have any questions, you can leave a message to communicate.
For more python methods to solve Chinese garbled characters when Fedora decompresses zip, please pay attention to the PHP Chinese website!