中文文件在linux中加压出来,很多都是乱码的。于是整理了一些解决unzip解压后中文乱码的处理方法。
方法一、利用python
#!/usr/bin/env python # -*- coding: utf-8 -*- # uzip.py 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()
添加权限:chmod +x uzip,运行:./uzip webyang.zip。
方法二、通过unzip命令行解压,制定字符集。
unzip -O CP936 webyang.zip(GBK,GB18030也可以)
方法三、在环境变量中,制定unzip参数。
vim /etc/environment 中加入两行:
UNZIP="-O CP936"
ZIPINFO="-O CP936"
方法四、安装unar
yum install unar
unar webyang.zip,即可解压出中文文件。
已有0条评论