解决Fedora解压文件产生乱码的问题
最近有发现在使用Linux的时候,之前也遇到过在ubuntu下,最后ubuntu貌似在原生下优化了这个问题,现在换到了fedora上的时候问题又出现了,解压出来的文件中文乱码。
为了在linux下可以打开word文档并且保证其格式不出问题,下在了wps,之后打开压缩包发现文件名中文字符乱码,压缩包是在windows下复制过来的。
接下来说一下解决方案,在fedora下没有提供响应的可以克服乱码的软件,但是可以自己写一个工具。
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import os 5 import sys 6 import zipfile 7 8 print "Processing File " + sys.argv[1] 9 10 file=zipfile.ZipFile(sys.argv[1],"r"); 11 for name in file.namelist(): 12 utf8name=name.decode('gbk') 13 print "Extracting " + utf8name 14 pathname = os.path.dirname(utf8name) 15 if not os.path.exists(pathname) and pathname!= "": 16 os.makedirs(pathname) 17 data = file.read(name) 18 if not os.path.exists(utf8name): 19 fo = open(utf8name, "w") 20 fo.write(data) 21 fo.close 22 file.close()
然后,我将这个文件名命名为charset.py,运行命令 charset.py *.zip就可以了。
欢迎各位转载。
注意:转载请注明出处。