Ubuntu下解决解压zip文件中文文件名乱码问题
在Ubuntu下解压Windows下压缩的zip文件时,会出现解压出的带中文文件名的文件名乱码,这是因为Ubuntu和Windows默认的编码不同,Ubuntu下默认的编码是UTF-8,而Windows下默认的编码是GBK,而zip文件自身却不带有任何标识其编码的信息。对于这个问题,主要有以下三种解决方法:
一、命令行指定解压字符集
解压时指定字符集,可以是CP936,GBK,GB18030
$unzip -O CP936 xxx.zip
不过,"man unzip"对这个参数没有任何说明,但是"unzip --help"对这个参数有一行简单的说明。
网上有人说,这个方法不总是凑效,在Ubuntu 12.04上,它是可以的。
二、在环境变量中指定unzip显示和解压参数
在/etc/environment中加入以下两行:
UNZIP="-O CP936"
ZIPINFO="-O CP936"
这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文。
三、使用p7zip解压
1. 安装p7zip-full
$sudo apt-get install p7zip-full
2. 卸载unzip
$sudo apt-get remove unzip
3. 再下载更新的p7zip-full包把原来的程序替换掉/usr/lib/p7zip/
p7z-bin.tar.gz 下载地址:p7z-bin.tar.gz (限于i386版本)
$sudo tar xzvf p7z-bin.tar.gz -C /usr/lib/p7zip
4. 使用锁定p7zip、p7zip-rar和p7zip-full版本(防止更新后失效)
1) 安装新立得软件管理器 sudo apt-get install synaptic(如果已经安装可以略过)
2) 打开新立得软件包管理器,搜索p7zip
3) 在搜索出的结果中,选择p7zip、p7zip-rar和p7zip-full,再点击软件包 -> 设置 -> 锁定版本
四、结论
1、 推荐使用方法二解决zip文件解压中文文件名乱码的问题。
2、方法一使用命令行带参数的方法不太方便。
3、方法三需要卸载unzip,而很多软件是依赖unzip的,卸载unzip的同时,这些依赖unzip的软件也会被卸载。
以上方法在Ubuntu 12.04下测试通过。
=-=-=-=-=
Powered by Blogilo
Ubuntu下解决解压zip文件中文文件名乱码问题的更多相关文章
- 解压zip文件中文文件名乱码问题
主要原因是,在windows下压缩文件时,是以系统的默认编码(gbk,gb18030)来压缩,zip文件并没有声明编码的格式,因此,linux下解压缩时,也会使用系统默认的格式(utf-8)解压缩,编 ...
- java使用解压zip文件,文件名乱码解决方案
File outFileDir = new File(outDir);if (!outFileDir.exists()) { boolean isMakDir = outFileDir.mkdirs( ...
- Linux(Ubuntu)下如何解压 .zip 文件
安装解压缩软件 使用如下命令安装: sudo apt-get install p7zip-full 7zip,估计会比较熟悉. p7zip,是什么? 听说是 7zip 的 shell 封装. 解压 使 ...
- Ubuntu下如何解压各类文件
tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------.gz解压1:gunzi ...
- Centos7解压Zip文件
一.安装支持ZIP的工具 yum install -y unzip zip 二.解压zip文件 unzip 文件名.zip 三.压缩一个zip文件 zip 文件名.zip 文件夹名称或文件名称
- Ubuntu18.04 解压zip文件乱码的解决方法
在Ubuntu的系统下解压zip文件的时候居然出现了乱码,通过查找网上的资料,解决的办法有两种 一.通过unzip行命令解压,指定字符集,由于zip格式中并没有指定编码格式,Windows下生成的zi ...
- Ubuntu 14 如何解压 .zip、.rar 文件?
.zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压? [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...
- Android 解压zip文件(支持中文)
过了n多天后,当再次使用原先博客上写的那篇: Android 压缩解压zip文件 去做zip包的解压的时候,出现了原来没有发现的很多问题.首先是中文汉字问题,使用java的zip包不能很好的解决解压问 ...
- Ubuntu 14 如何解压 .zip、.rar 文件
.zip 和 .rar 是Windows下常用的压缩文件,在Ubuntu中如何解压. [解压.zip文件] Ubuntu中貌似已经安装了unzip软件,解压命令如下: unzip ./FileName ...
随机推荐
- (原创)看我用各种姿势在手机和PC查看到连接到的wifi密码
今天一个女神来我家做客,她问我WiFi密码,然而我却奇迹般的忘记了(特么的当时心里一万个草泥马踏过去),让我在她面前尴尬求子的,所以为了防止你们也出现这种情况,我特地把各种方法整理了一下,那么感兴趣的 ...
- 在C#中使用类golang信道编程(一)
BusterWood.Channels是一个在C#上实现的信道的开源库.通过使用这个类库,我们可以在C#语言中实现类似golang和goroutine的信道编程方式.在这里我们介绍3个简单的信道的例子 ...
- 最长递增子序列hdu1087
#include<map> #include<set> #include<list> #include<cmath> #include<queue ...
- SQL Sever2008 新手入门第一天安装软件
(计应154兰家才)这学期,新来了一门课程,数据库应用.刚开始什么都不懂,也不知道这东西到底是干嘛,本着路漫漫其修远兮,吾将上下而求索的精神,开始了一段求知路程.刚开始找了一个简单的绿化版sql200 ...
- POJ2635-The Embarrassed Cryptographer 大数求余
题目链接:http://poj.org/problem?id=2635 题目分析: http://blog.csdn.net/lyy289065406/article/details/6648530
- js函数的使用
js函数应用 [函数的声明及调用]: 1.函数声明: function 函数名(参数1,参数2,·····){ //函数体 retu ...
- SpringMVC构建Restful。
因为spring是依赖jackson来生成json,需要添加jar包. pom.xml文件添加依赖. <dependency> <groupId>org.codehaus.ja ...
- 3.从AbstractQueuedSynchronizer(AQS)说起(2)——共享模式的锁获取与释放
在上节中解析了AbstractQueuedSynchronizer(AQS)中独占模式对同步状态获取和释放的实现过程.本节将会对共享模式的同步状态获取和释放过程做一个解析.上一节提到了独占模式和共享模 ...
- Day1-模块初识
模块,也叫库,分为标准库和第三方库.标准库,直接导入使用,比如import getpass:第三方库,需下载安装才能使用,比如paramiko: 一.sys模块 import sys print(sy ...
- SSM框架中常用的注解
@Controller:在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...