当前位置:首页 > linux教程 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-24 17:00:29 浏览: 评论:0 

中文名在linux中必须是乱码的哦这个没话说了,当然如果有配置好的估计是可以解决,下面小编整理了一些解决unzip解压后中文名乱码问题.

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

1.vi uzip文件

2.复制一下内容(Python)

  1. #!/usr/bin/env python 
  2. # -*- coding: utf-8 -*- 
  3. # uzip.py 
  4.  
  5. import os 
  6. import sys 
  7. import zipfile 
  8.  
  9. print "Processing File " + sys.argv[1] 
  10.  
  11. file=zipfile.ZipFile(sys.argv[1],"r"); 
  12. for name in file.namelist(): 
  13.     utf8name=name.decode('gbk'
  14.     print "Extracting " + utf8name 
  15.     pathname = os.path.dirname(utf8name) 
  16.     if not os.path.exists(pathname) and pathname!= ""
  17.         os.makedirs(pathname)  //phpfensi.com 
  18.     data = file.read(name) 
  19.     if not os.path.exists(utf8name): 
  20.         fo = open(utf8name, "w"
  21.         fo.write(data) 
  22.         fo.close 
  23. file.close() 
  24. 3.chmod +x uzip 
  25. 4../uzip xxxx.zip 

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

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

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

方法3,在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件,/etc/environment中加入2行.

  1. UNZIP=”-O CP936″ 
  2. ZIPINFO=”-O CP936″ 

方法4,采用java的jar命令解压zip包 JAR 解压:jar xvf file.name

Tags: unzip解压 Linux解压

分享到: