网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   Linux (https://www.0058.net/forumdisplay.php?f=78)
-   -   Linux系统unzip解压后中文名乱码解决方法 (https://www.0058.net/showthread.php?t=4973)

Ranson 2015-01-19 05:15 AM

Linux系统unzip解压后中文名乱码解决方法
 
解决办法一,利用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


All times are GMT +8. The time now is 03:35 AM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.