ubuntu 14.04解压zip文件出现乱码
有2种方式解决问题:
1. 通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
有趣的是unzip的manual中并无这个选项的说明, unzip --help对这个参数有一行简单的说明。
2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment中加入2行
UNZIP="-O CP936"
ZIPINFO="-O CP936"
这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。
我先用了第二种方法,但是发现自己没装file-roller,于是用第一种方法指定字符集,然后就搞定了,但是还是觉得这个CP936。。。。记不住阿,不知道还有没有更好的方法
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Latm Ake
链接:http://www.zhihu.com/question/20523036/answer/35225920
来源:知乎
由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。
目前网上流传一种unzip -O cp936的方法,但一些unzip是没有-O这个选项的。
我使用的版本 unzip 6.0 debian modified 版本有这个选项
我发现另外两种解决方案可用。
python方案
此方案目前来看非常完美。
#!/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 " + utf8namepathname = 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()
Windows 用户屏蔽两条 print 语句,Linux 用户不用屏蔽
7z方案
需要安装p7zip和convmv,在Fedora下的命令是
su -c 'yum install p7zip convmv'
在ubuntu下的安装命令是
sudo apt-get install p7zip convmv
安装完之后,就可以用7za和convmv两个命令完成解压缩任务。
LANG=C 7za x your-zip-file.zip
convmv -f GBK -t utf8 --notest -r .
第一条命令用于解压缩,而LANG=C表示以US-ASCII这样的编码输出文件名,如果没有这个语言设置,它同样会输出乱码,只不过是UTF8格式的乱码(convmv会忽略这样的乱码)。
第二条命令是将GBK编码的文件名转化为UTF8编码,-r表示递归访问目录,即对当前目录中所有文件进行转换。
ubuntu 14.04解压zip文件出现乱码相关推荐
- ubuntu 16.04L解压zip文件出现乱码
开个传送门:http://blog.csdn.net/qq_27803491/article/details/50375092 下附原文: 常遇到这个问题,今天终于解决了,参考网址:http://fo ...
- Ubuntu 14 如何解压 .zip、.rar 文件
.zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压. [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...
- Windows系统解压zip文件之后乱码的问题的原因和解决方法
我昨天用7zip压缩了一个压缩包给我同事,他那边显示的是乱码. 像下面这样. 具体的原因是: 7zip压缩zip格式的文件的时候,对文件名默认使用的是Windows系统的默认编码,我的系统的默认编码是 ...
- Android端解压ZIP文件中文乱码的问题
吐槽 为解决这个问题,在网上徘徊了数小时,被那些盲目搬砖的博主坑死,明明不可行的方案为什么还要搬到自己的口袋呢?这些人真害人不浅,浪费彼此时间!!!吐槽到此为止.上代码: 正文 首先呢,实现此功能用到 ...
- 【基础操作】ubuntu解压zip文件乱码
原文:https://www.cnblogs.com/pipci/p/10114527.html Ubuntu18.04 解压zip文件乱码的解决方法 在Ubuntu的系统下解压zip文件的时候居然出 ...
- ubuntu解压zip文件命令_Linux常用命令10 - unzip
zip 是最广泛使用的归档文件, 除了linux,windows也是非常的广泛.,支持无损数据压缩. zip 文件是包含一个或多个压缩文件或目录的数据容器. 接下来,我将解释如何使用 unzip 命令 ...
- 解压zip文件出现-bash:unzip:commond not found
来源:http://www.cnblogs.com/thinksasa/archive/2013/01/20/2868232.html 解压zip文件出现-bash:unzip:commond not ...
- Android 解压zip文件
过了n多天后,当再次使用原先博客上写的那篇: Android 压缩解压zip文件 去做zip包的解压的时候,出现了原来没有发现的很多问题.首先是中文汉字问题,使用java的zip包不能很好的解决解压问 ...
- Android 解压zip文件你知道多少?
对于Android常用的压缩格式ZIP,你了解多少? Android的有两种解压ZIP的方法,你知道吗? ZipFile和ZipInputStream的解压效率,你对比过吗? 带着以上问题,现在就开始 ...
最新文章
- symfony2项目访问app_dev.php不显示debug工具栏的问题
- pythonselect a valied_python 11期 第五天
- 面部识别技术走到十字路口?
- tomcat启动完成执行 某个方法 定时任务(Spring)
- 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
- android如何编译lame,Android 编译 Lame 库心路历程
- 该不该放弃单片机,嵌入式这条路?
- V210调整根分区大小
- 阿里云物联网边缘计算加载MQTT驱动
- 【clickhouse】mac 10.15.7使用docker安装clickhouse
- 多台kafka同时启动shell脚本
- 用于保存计算机输入输出数据的材料及其,与房地产,电子,金融,汽车并称五大产业的是()...
- 9大最佳工程施工项目管理系统
- C#使用NPOI操作Excel
- 一脸懵逼搭建Zookeeper分布式集群
- 论文:Object-centric Auto-encoders and Dummy Anomalies for Abnormal Event Detection in Video阅读遇到的问题及解答
- win7-32位系统SqlServer2014版本下载与安装
- 网络原理——网络层与数据链路层
- 我的互联网金融行业经验总结
- Ebay API item_get - 获得EBAY商品详情
热门文章
- 短视频是屌丝逆袭的一个绝好的机会
- 都说喜欢文字的女人都是孤独的,她们怕孤独,却又喜欢孤独
- 上网行为管理产品选型简述
- 订阅计算机杂志推荐,《电脑爱好者》 | 电脑爱好者杂志订阅_杂志铺:杂志折扣订阅网...
- 【C语言】职工管理系统详解(文件操作)
- linux系统下监控录像软件,Linux系统信息监控软件system-monitor
- 【技术向】DIY SM2262en 1TB固态,量产开卡+软件分享
- 三星SCH-I739官方原版ROM下载及刷机教程
- 化妆品电商平台数据分析
- MySQL函数(经典收藏)