ubuntu解决压缩文件乱码(多方法)【已解决】

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

ubuntu解决压缩文件乱码(多方法)【已解决】

#1

帖子 Sunmover » 2011-01-10 22:31

把本地文件备份到网易网盘然后打包下载却发现乱码了,请问怎么解决?谢谢!
PS:如果一个一个文件的下载不会出现乱码。估计是服务器打包的时候转了编码。。。
预览的时候是乱码,解压出来的文件仍是乱码...
预览的时候是乱码,解压出来的文件仍是乱码...
上次由 Sunmover 在 2011-01-11 23:09,总共编辑 1 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 乱码,对!又是乱码.......

#2

帖子 eexpress » 2011-01-10 22:46

7z试试
● 鸣学
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#3

帖子 Sunmover » 2011-01-10 23:06

eexpress 写了:7z试试
用7z命令解压输出结果为:
(图形界面下看也是乱码)

代码: 全选

localuser@localhost:~/桌面/1$ 7z e netfolder.zip

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=zh_CN.utf8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: netfolder.zip

Extracting  ÀʵÀººÓ¢×Öµä _stardict-langdao-ce-gb-2.4.2.7z
Extracting  ÀÁ³æ¼òÃ÷Ó¢ºº´Êµä _stardict-lazyworm-ec-2.4.2.7z
Extracting  ÀÁ³æ¼òÃ÷ººÓ¢´Êµä _stardict-lazyworm-ce-2.4.2.7z
Extracting  ÀÊÎĵ±´ú´Êµä(Ó¢Ó¢´Êµä)__Longman Dictionary of Contemporary English.7z

Everything is Ok

Files: 4
Size:       20337303
Compressed: 20341219
localuser@localhost:~/桌面/1$ 
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: 乱码,对!又是乱码.......

#4

帖子 astolia » 2011-01-11 0:59

zip格式的老问题了

代码: 全选

LANG=C 7z x -ofiles netfolder.zip
cd files
for i in *;do
  mv "$i" `echo "$i" | iconv -f GBK`
done
大概就是这样了。
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#5

帖子 Sunmover » 2011-01-11 1:12

astolia 写了:zip格式的老问题了

代码: 全选

LANG=C 7z x -ofiles netfolder.zip
cd files
for i in *;do
  mv "$i" `echo "$i" | iconv -f GBK`
done
大概就是这样了。
又出错了,解压出的文件显示“无效编码”。。。
终端输出结果如下:

代码: 全选

localuser@localhost:~/桌面/1$ LANG=C 7z x -ofiles netfolder.zip

7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: netfolder.zip

Extracting  �ʵ���Ӣ�ֵ� _stardict-langdao-ce-gb-2.4.2.7z
Extracting  ��������Ӣ���ʵ� _stardict-lazyworm-ec-2.4.2.7z
Extracting  ����������Ӣ�ʵ� _stardict-lazyworm-ce-2.4.2.7z
Extracting  ���ĵ����ʵ�(ӢӢ�ʵ�)__Longman Dictionary of Contemporary English.7z

Everything is Ok

Files: 4
Size:       20337303
Compressed: 20341219
localuser@localhost:~/桌面/1$ cd files
localuser@localhost:~/桌面/1/files$ for i in *;do
> mv "$i" `echo "$i" | iconv -f GBK`
> done
mv: 目标 “English.7z” 不是目录
mv: 目标 “_stardict-langdao-ce-gb-2.4.2.7z” 不是目录
mv: 目标 “_stardict-lazyworm-ce-2.4.2.7z” 不是目录
mv: 目标 “_stardict-lazyworm-ec-2.4.2.7z” 不是目录
localuser@localhost:~/桌面/1/files$ 
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#6

帖子 Sunmover » 2011-01-11 2:08

刚刚试了
convmv -f gbk -t utf8 ./* --notest --nosmart
都是乱码。。。
头像
豬豬
帖子: 1216
注册时间: 2006-08-30 20:54
来自: 廣州

Re: 乱码,对!又是乱码.......

#7

帖子 豬豬 » 2011-01-11 10:24

用peazip看看
Intel G1610
Samsung DDR1333 4G
SOYO SY-I6H-L 4.1
Maxtor 250GB+Seagate 500GB
Nvidia GeForce 8500GT
Samsung SyncMaster S22B360
Ubuntu 10.04 LTS
levee
帖子: 3030
注册时间: 2009-10-03 23:31

Re: 乱码,对!又是乱码.......

#8

帖子 levee » 2011-01-11 10:28

唉,到win下解压吧。
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#9

帖子 Sunmover » 2011-01-11 13:17

levee 写了:唉,到win下解压吧。
在win下解压确实不会乱码,但是我不是要一个在win下不乱码的文件,我需要在Linux下解决Linux的问题。
事实上,这几个词典文件里面包含了一个ifo文件可以显示文件的正确名称。
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: 乱码,对!又是乱码.......

#10

帖子 astolia » 2011-01-11 13:37

解压缩时必须用 LANG=C 7z x netfolder.zip 来,这是前提。
解压出的文件会说是无效编码,这是必须的。
到这一步你ls > name.txt,然后把name.txt传上来我看看到底是什么编码
或者源里有个nautilus-filename-repairer,装上后,选中后右键菜单里也有修复的选项。不过我前几年最后一次用nautilus的时候,它的修复功能已经失效了,不知道现在如何
ygf
帖子: 458
注册时间: 2006-11-27 12:25

Re: 乱码,对!又是乱码.......

#11

帖子 ygf » 2011-01-11 13:55

自己写个脚本吧,如果你感兴趣,我可以将我写的一个python脚本给你试一下。
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#12

帖子 Sunmover » 2011-01-11 14:07

astolia 写了:解压缩时必须用 LANG=C 7z x netfolder.zip 来,这是前提。
解压出的文件会说是无效编码,这是必须的。
到这一步你ls > name.txt,然后把name.txt传上来我看看到底是什么编码
或者源里有个nautilus-filename-repairer,装上后,选中后右键菜单里也有修复的选项。不过我前几年最后一次用nautilus的时候,它的修复功能已经失效了,不知道现在如何
name.txt在下面:
name.txt
(235 Bytes) 已下载 16 次
用GEdit打开name.txt没有乱码:
编码是GB18030么?
编码是GB18030么?
以LANG=C 7z x netfolder.zip解压文件,nautilus-filename-repairer才可用,请问前面的LANG=C是什么意思?
nautilus-filename-repairer.png
(这里写给需要安装nautilus-filename-repairer的朋友。命令行安装 sudo aptitude install -y nautilus-filename-repairer )
(习惯手动下载deb包安装的朋友,请前往这里下载并安装。)

不使用LANG=C 7z x netfolder.zip解压的文件nautilus-fileneme-repairer是无法使用的。
no_repair_option.png
头像
Sunmover
帖子: 2339
注册时间: 2010-05-24 13:02
来自: 星城长沙

Re: 乱码,对!又是乱码.......

#13

帖子 Sunmover » 2011-01-11 14:27

ygf 写了:自己写个脚本吧,如果你感兴趣,我可以将我写的一个python脚本给你试一下。
谢谢您,如果不需要占用您太多时间那就劳驾了。如果花费时间太多的话,那就不便劳驾了。
无论怎么样,真诚感谢您愿意帮忙!
ygf
帖子: 458
注册时间: 2006-11-27 12:25

Re: 乱码,对!又是乱码.......

#14

帖子 ygf » 2011-01-11 15:35

好象发不了附件啊?没有附件的选项了。
ygf
帖子: 458
注册时间: 2006-11-27 12:25

Re: 乱码,对!又是乱码.......

#15

帖子 ygf » 2011-01-11 15:45

cuzip.py
(2.13 KiB) 已下载 57 次
该脚本是我上周日临时写的,也是遇到这个问题。供你临时用一下。

使用:

cuzip.py (压缩包文件名)

可用两个选项:

--list 列表显示压缩包内的文件
-e 这个参数后带数字,用于解压压缩包内指定序号的文件。这个选项后只能带两个参数,一个是指定序号,用逗号分隔多个序号,另一个参数是压缩包文件(这个选项还没有完全写好,但基本可以用)

这个脚本很粗糙,如果有高手改一下不胜感激!
回复