资讯专栏INFORMATION COLUMN

ubuntu14.04中zip解压后文件名乱码

scwang90 / 3407人阅读

这个主要是因为zip文件对文件名的编码默认为当前环境的locale,如在windows下压缩的zip文件,在linux下其中的中文名便会乱码。

这是zip格式的缺陷,所以目前并没有很完美的解决办法。当前的办法有如下两种:

使用upzip命令的时候加个参数
upzip -O CP936 a.zip
用python写一个脚本来解压
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# unzip-gbk.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()
  

warning: 该程序没有经过我的验证,请自己试验以保证正确性

参考

http://note.ninehills.info/linux-gbk.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7795.html

相关文章

  • ubuntu14.04zip解压件名乱码

    这个主要是因为zip文件对文件名的编码默认为当前环境的locale,如在windows下压缩的zip文件,在linux下其中的中文名便会乱码。 这是zip格式的缺陷,所以目前并没有很完美的解决办法。当前的办法有如下两种: 使用upzip命令的时候加个参数 upzip -O CP936 a.zip 用python写一个脚本来解压 #!/usr/bin/env python # -*- c...

    ernest.wang 评论0 收藏0
  • Ubuntu 解压zip件名乱码问题解决

    安装(12.04及以上): sudo apt-get install unar 使用: 假设需要解压的ZIP包是foo.zip lsar foo.zip #列出所有文件如果列出的文件名已经正确 unar foo.zip #解压所有文件如果列出的文件名还不正确 lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件 unar -e GB18030 foo.z...

    cyqian 评论0 收藏0
  • Ubuntu 解压zip件名乱码问题解决

    安装(12.04及以上): sudo apt-get install unar 使用: 假设需要解压的ZIP包是foo.zip lsar foo.zip #列出所有文件如果列出的文件名已经正确 unar foo.zip #解压所有文件如果列出的文件名还不正确 lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件 unar -e GB18030 foo.z...

    winterdawn 评论0 收藏0
  • Ubuntu 解压zip件名乱码问题解决

    安装(12.04及以上): sudo apt-get install unar 使用: 假设需要解压的ZIP包是foo.zip lsar foo.zip #列出所有文件如果列出的文件名已经正确 unar foo.zip #解压所有文件如果列出的文件名还不正确 lsar -e GB18030 foo.zip #指定使用GB18030编码列出所有文件 unar -e GB18030 foo.z...

    shiweifu 评论0 收藏0
  • Ubuntu 14.04 VPS 部署 PHP 环境及 WordPress

    摘要:软件及版本选择是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而是目前最新的版本,目前已经发布了半年了,基本是目前支持最好的版本。是目前官方推荐的最佳的运行模式。 软件及版本选择 Ubuntu 14.04 Ubuntu 是目前用户数量数一数二的发行版,背后有大土豪维护,可以说是轻量级用户的最佳选择。而 14.04 是目前最新的 LTS 版本,目前...

    hqman 评论0 收藏0

发表评论

0条评论

scwang90

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<