首页 > 代码库 > linux ubuntu12.04 解压中文zip文件,解压之后乱码

linux ubuntu12.04 解压中文zip文件,解压之后乱码

在windows下压缩后的zip包,在ubuntu下解压后显示为乱码问题


1.zip文件解压之后文件名乱码:

第一步 首先安装7zip和convmv(如果之前没有安装的话)
在命令行执行安装命令如下:
sudo apt-get install p7zip-full convmv

第二步 假设zip文件名为y05文档.zip,那么先进入zip文件所在的目录,然后命令行执行
LANG=C 7z x y05文档.zip
convmv -f cp936 -t utf8 -r --notest *


2.文件内容乱码   

      原Windows rar压缩的文件,Linux系统下解压后打开里边的文件,内容全部乱码。  


  之所以出现乱码是因为所压缩的文件中,有的文件是以中文命名。而在windows下中文的编码一般为gbk,而linux下中文的编码一般为utf8,所以在windows下正常打开的文件,到linux下很可能会出现乱码。  

  解决办法为:使用命令iconv对文件内容编码进行转换。 

  例如我有一个文件"y05文档.txt"在windows下打开正常,而在linux下打开则会乱码,其解决办法为在终端输入:  

  iconv -f gbk -t utf8 y05文档.txt > y05文档.txt.utf8  


  之后再打开"y05文档.txt.utf8"这个文件,该文见的乱码问题就解决了。



解压win环境下打包的rar文件乱码(由于编码的缘故,在windows下打包的的中文文件,解压后时候乱码,提示为无效的编码格式,由于windows是gbk的编码格式,而ubuntu下默认使用的确实utf8编码格式,这个文件可以使用convmv这个命令解决):

重装系统之后,执行命令rar的安装命令:sudo apt-get install rar,

在linux解压rar文件,通常使用的命令:rar e a.rar,

这样之后,解压win环境下打包的rar文件,解压之后是乱码。

此时命令行执行:sudo apt-get install convmv(安装convmv),

然后执行:convmv  *  -f gbk -t utf8 --notest(*是需要转换的文件,--notest是对文件进行重命名


在ubuntu下打开.TXT文件,中文显示为乱码

 

打开应用程序——系统工具——配置编辑器。如果没有的话打开系统——首选项——主菜单——系统工具——配置编辑器。依次点开 apps->gedit-2->preferences->encodings 中的auto-detected在双击弹出对话框中加入GB18030,GBK,GB2312,然后将GB18030,GB2312移到最上再次打开.txt文件,问题解决了。