无名阁
解决Linux下压缩包乱码问题
2012-3-13 笑看风云


大家都知道,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

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

邮件地址 (选填)

个人主页 (选填)

内容