Linux下解压window压缩的zip文件中文乱码

作者: tcxurun 分类: Linux 发布时间: 2014-10-10 21:41 ė 6 没有评论

最近遇到一个问题,把一些文件在window下压缩后上传到linux服务器上,解压发现中文乱码,网上搜了一下,有个办法是使用unzip行命令解压时,指定字符集,可是试了一下并不管用,还有个方法是使用jar,但是这需要安装jar,而且不知道为什么,解压后中文还是乱码,后来找到了另外一种方法,很管用。就是使用python脚本来解压文件,一般linux系统都默认安装了python,不需要再安装了。

以下为python脚本的代码,可以命名为unzip.py,写入以下代码:

#!/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()

然后 把zip文件跟unzip.py放在同一级目录,运行命令python unzip.py filename.zip,完美解决中文乱码问题

本文出自天一直很蓝,转载时请注明出处及相应链接。

本文永久链接: http://www.tcxurun.cn/archives/281

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Ɣ回顶部