ubuntu下解决解压zip文件中文文件名乱码问题
2015-09-14 14:48
711 查看
在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解压
安装p7zip-full
$sudo apt-get install p7zip-full
卸载unzip
$sudo apt-get remove unzip
再下载更新的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
使用锁定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下测试通过。
原文链接:
http://www.cnblogs.com/pandachen/p/4804860.html
一、命令行指定解压字符集
解压时指定字符集,可以是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解压
安装p7zip-full
$sudo apt-get install p7zip-full
卸载unzip
$sudo apt-get remove unzip
再下载更新的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
使用锁定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下测试通过。
原文链接:
http://www.cnblogs.com/pandachen/p/4804860.html
相关文章推荐
- 操作系统典型调度算法简介
- java 多线程 ReentrantReadWriteLock 使用
- sql services 2008r2 windows用户下新建用户
- 辛星浅析utf8和utf8mb4
- Mac iOS Json 操作Model to JSON
- cocos2d-x 利用CCLabelTTF制作文字描边与阴影效果的实现方法
- Android中Parcelable接口用法
- Android软键盘弹出时挤压屏幕高度解决办法
- c函数指针详解(转)
- 基于PHP的超炫酷HTML5交互式图表
- media-query
- Mac iOS Json 操作Model to JSON
- 平台调用数据类型
- Web Api 2 怎么支持 Session
- .NET创建Windows服务详细步骤(C#)
- 从零开始自学Swift(九)
- C# 从服务器下载文件代码
- 微信公众平台深度开发Java版 v2.0
- 精通Hibernate——Hibernate缓存详解
- Android使用VideoView播放网络视频