问题:
来自windows下zip压缩的文件。由于文件的编码问题,而unzip(UnZip 6.00)又不能修改编码,导致在linux下unzip出现如下乱码。
liushsh@linux-6kye:> unzip file.zip
Archive: file.zip
inflating: -�-�+�+�+�+�2014/+�-�+�+�.gdd
inflating: -�-�+�+�+�+�2014/��+��+.gdd
inflating: -�-�+�+�+�+�2014/-�-�+�+�.gdd
inflating: -�-�+�+�+�+�2014/-�-�+�+Ϧ���-���-+.docx
inflating: -�-�+�+�+�+�2014/-�-�+�+�+�+�.docx
inflating: -�-�+�+�+�+�2014/��θ+++�.xlsx
解决方法:
运用python解压文件。
unzip.py
#!/usr/bin/env python import zipfile z=zipfile.ZipFile('file.zip') for i, f in enumerate(z.filelist): # 这里的gdk和UTF-8,可以依据具体的情况修改 # 或者修改成两个运行参数 f.filename = f.filename.decode('gbk').encode("UTF-8") z.extract(f)