破洛洛手机网
当前位置: 首页 > 服务器 > WEB服务器 > 正文

Linux系统unzip解压后中文名乱码解决方法

作者:佚名 来源:网络整理 2015-1-9

   解决办法一,利用pyton来处理

  1.vi uzip文件

  2.复制一下内容(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()

  3.chmod +x uzip

  4../uzip xxxx.zip

  方法2,通过unzip行命令解压,指定字符集

  unzip -O CP936 xxx.zip (用GBK, GB18030也可以)

  有趣的是unzip的manual中并无这个选项的说明,unzip –help对这个参数有一行简单的说明。

  方法3,在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件

  /etc/environment中加入2行

  UNZIP=”-O CP936″

  ZIPINFO=”-O CP936″

  方法4,采用java的jar命令解压zip包 JAR 解压

  jar xvf file.name

推荐阅读