无名阁

美好的生活需要用心记录

解决Linux下压缩包乱码问题

2012-3-13 笑看风云 linux知识

大家都知道,Linux下的中文乱码是一个很烦的事情,在这里我叫大家如何解决这个问题。

#######2015.10.18更新####

现在Ubuntu的发行版中的软件源中的rar已经解决了中文乱码的问题,直接安装rar和unrar两个软件包就行了。

zip我是通过安装openSUSE上面的unzip-rcc来解决,安装方法很简单

首先竟然这个网址下载适合你系统的软件包(32位或者64位):https://software.opensuse.org/package/unzip-rcchttps://software.opensuse.org/package/rcc-runtime

然后把unzip-rcc解压到任意目录,进入此目录,然后把除了zipinfo以外的软连接删除,并把解压后的软连接文件后面的-rcc去掉,例如unzip-rcc改名成unzip,接着把rcc-runtime软件包中的rcc.xml文件也复制到此目录,然后在此目录下面添加一个makefile文件,里面写入以下内容:

PREFIX=/usr/local

install:
		cp ./   $(PREFIX)/bin
		cp ./rcc.xml /etc
然后执行安装librcc0这个软件包就可以了正常显示中文压缩包了。


如果不行的话其实Ubuntu自带的unzip支持-O参数,我们可以通过-O参数手动指定编码。

########

rar乱码

ubunut下打开rar包,如果里面有中文就会显示乱码,其实就觉这个问题最简单了,只要把进入新立得,搜索rar,然后卸载rar并重新安装unrar即可。(卸载rar包之后无法创建rar压缩包)

上面的办法可以解决rar乱码问题,但是有一点不好的地方就是无法创建rar压缩包,要是想解决乱码的同时还要保留创建rar压缩包功能的话就得使用一下方法:

1.到http://www.rarlab.com/download.htm下载RAR 4.20 beta 2 for Linux
2.解压缩,运行终端,进入解压缩的目录,命令行运行:sudo make install
3.建立软链接:sudo ln -s /usr/local/bin/rar /usr/bin
完成,Ubuntu 的自带归档管理器就可以解压rar压缩文件了。

成功解决乱码问题,从此在ubuntu下压缩的中文文件到winxp下文件名再也不是乱码了。
————
经测试此方法管用,安装前先卸载原来的rar、unrar

 

zip乱码

其实最难解决的乱码是zip文件乱码,这里我有一个半完美的方法,虽然是半完美但是一般情况下也没有什么大问题,这个方法就是使用p7zip来解压zip,

首先我们来安装p7zip-full,安装好了之后下载已经编译好的打上了中文补丁的p7zip。然后解压后运行install.sh文件即可。

i386版:

http://115.com/file/c2hqch22

http://dl.dbank.com/c0x9fb4gz5

amd64位版:

http://115.com/file/ang78n3(12.04下编译)

http://115.com/file/be7fx2x0(10.04.4下编译)

http://dl.dbank.com/c0khbml9xr(12.04下编译)

http://dl.dbank.com/c0z7xtb0tf(10.04.4下编译)

 

当然要是各位不嫌麻烦也可以自己编译,这里附上编译方法:

首先下载patch:

http://115.com/file/e7nk1hmr

http://dl.dbank.com/c0naqgh1um

然后下载源代码:

因为补丁我只找到9.04的,所以Ubuntu10.04的用户可以直接使用

apt-get source p7zip-full

如果软件源里的p7zip版本不是9.04那么请下载此文件:http://free.nchc.org.tw/ubuntu/pool/universe/p/p7zip/p7zip_9.04~dfsg.1.orig.tar.gz

 

然后把刚才下载的那个 patch 文件放进代码目录,一般来说应该是 p7zip-9.04~dfsg.1 目录。然后执行下面代码:

 

gzip -cd p7zip_9.04~dfsg.1-1chinese.diff.gz | patch -p1

 

然后就和一般没有什么区别了:

 

make all3
sudo make install

 

需要注意的是,这里安装完以后并没有覆盖原来 p7zip 包的文件,但是放在了一个更优先访问的位置,所以以后执行 7z 相关的操作都会访问这里安装的。

现在,在系统里面以任何方式查看或解压任何 zip,理论上应该不会出现乱码了,我想是这样……

顺便附上Linux下别的乱码的解决办法:

mp3:http://www.xzcblog.com/?post=104

gedit(txt文件):http://www.xzcblog.com/?post=79

标签: Linux 压缩包 乱码

et_highlighter51

评论:

zonek
2015-10-15 15:54
你好,这篇文章里的链接都失效了,能更新一下吗?谢谢
笑看风云
2015-10-18 08:33
@zonek:我现在改用openSUSE上面的unzip-rcc来解决,实际上Ubuntu下面的unzip依旧可以使用-O来指定编码。

发表评论: