我的天啊,下载MP3连文件名都是乱码呀 T T

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

我的天啊,下载MP3连文件名都是乱码呀 T T

#1

帖子 webyjh » 2012-02-24 9:01

如图在搜狗上下载音乐,每次都要手动重命名,好烦啊
选区_001.png
e21
帖子: 641
注册时间: 2008-01-24 9:47

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#2

帖子 e21 » 2012-02-24 9:17

用google吧,google音乐连接的是top100(直接用top100比较慢),下载的基本都是单曲音乐,音质好,信息很完整不会乱。http://www.google.cn/music/homepage
头像
webyjh
帖子: 225
注册时间: 2008-11-06 15:18
来自: 中国

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#3

帖子 webyjh » 2012-02-24 9:57

e21 写了:用google吧,google音乐连接的是top100(直接用top100比较慢),下载的基本都是单曲音乐,音质好,信息很完整不会乱。http://www.google.cn/music/homepage
非常感谢
头像
code vampire
帖子: 193
注册时间: 2010-06-19 12:50
系统: AIX、UBUNTU
联系:

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#4

帖子 code vampire » 2012-02-25 9:56

那是因为存放音乐文件的服务器与存放网页的服务器宿主机使用不同的编码,而浏览器认为适用的编码是网页的编码,或者浏览器可以要求网页服务器传回适用的编码,而无法要求文件服务器。

这样,当文件服务器的编码与你本机的编码不同时,下载就出现乱码。

问题的主因是因为当前的OS市场份额,Windows占90%多,而Windows在国内基本都是gb2312,不是UTF-8所以文件服务器使用gb2312无可厚非,而Linux现今基本都使用UTF-8编码,所以肯定会出现乱码。如果文件服务器更换为UTF-8,那Windows就要出现乱码。

就gb2312与UTF-8哪个好,哪个不好?肯定是UTF-8好一点,为什么?因为是国际字符集,支持的字符量大。而gb2312是国标,本身支持的字符集是UTF-8的子集。打个比方,你用gb2312写的中文文本文件,用外国的机器查看,如果这个机子不知道gb2312编码,那看到的就是乱码。如果使用UTF-8写同样的内容,在外国的机子上仍然是中文。也就是说国标很难在世界范围内被普及。

我不知道当初微软在国内的OS上用gb2312的初衷,但就其影响来看一定是坏的,只是大家现在感觉不深。如果问一个经常与网页,文本打交道的程序员,他一定会咬牙切齿的憎恨gb2312.
头像
reverland
帖子: 1317
注册时间: 2011-11-26 15:57
系统: windows xp
联系:

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#5

帖子 reverland » 2012-02-25 10:53

用downthemall好像没问题,但标签都是乱码,还要自己改
托在github上的jekyll博客
Always Look on the Bright Side of Life
头像
webyjh
帖子: 225
注册时间: 2008-11-06 15:18
来自: 中国

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#6

帖子 webyjh » 2012-02-27 20:03

非常感谢您如些详尽的回复,个人也很痛恨gb2312

code vampire 写了:那是因为存放音乐文件的服务器与存放网页的服务器宿主机使用不同的编码,而浏览器认为适用的编码是网页的编码,或者浏览器可以要求网页服务器传回适用的编码,而无法要求文件服务器。

这样,当文件服务器的编码与你本机的编码不同时,下载就出现乱码。

问题的主因是因为当前的OS市场份额,Windows占90%多,而Windows在国内基本都是gb2312,不是UTF-8所以文件服务器使用gb2312无可厚非,而Linux现今基本都使用UTF-8编码,所以肯定会出现乱码。如果文件服务器更换为UTF-8,那Windows就要出现乱码。

就gb2312与UTF-8哪个好,哪个不好?肯定是UTF-8好一点,为什么?因为是国际字符集,支持的字符量大。而gb2312是国标,本身支持的字符集是UTF-8的子集。打个比方,你用gb2312写的中文文本文件,用外国的机器查看,如果这个机子不知道gb2312编码,那看到的就是乱码。如果使用UTF-8写同样的内容,在外国的机子上仍然是中文。也就是说国标很难在世界范围内被普及。

我不知道当初微软在国内的OS上用gb2312的初衷,但就其影响来看一定是坏的,只是大家现在感觉不深。如果问一个经常与网页,文本打交道的程序员,他一定会咬牙切齿的憎恨gb2312.
mobilefzb
帖子: 224
注册时间: 2010-05-18 22:23

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#7

帖子 mobilefzb » 2012-02-27 21:37

主要微软系统使用的编码是GBK的,而这些东西一般都是在微软系统上编辑和上传的,ubuntu使用的utf8作为编码。
网上有这些教程,我也用了下,效果很好,可以方便的将乱码文件名重命名。
convmv -f GBK -t UTF-8 --notest *.mp3
convmv是个程序,unbuntu下使用apt进行安装,然后终端下输入这个命令就可以了,注意上面的路径是相对路径。
头像
webyjh
帖子: 225
注册时间: 2008-11-06 15:18
来自: 中国

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#8

帖子 webyjh » 2012-02-28 19:30

mobilefzb 写了:主要微软系统使用的编码是GBK的,而这些东西一般都是在微软系统上编辑和上传的,ubuntu使用的utf8作为编码。
网上有这些教程,我也用了下,效果很好,可以方便的将乱码文件名重命名。
convmv -f GBK -t UTF-8 --notest *.mp3
convmv是个程序,unbuntu下使用apt进行安装,然后终端下输入这个命令就可以了,注意上面的路径是相对路径。
感谢回复 convmv和 iconv有什么区别呢?
头像
Fermat618
帖子: 728
注册时间: 2008-12-28 16:01

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#9

帖子 Fermat618 » 2012-02-28 20:41

code vampire 写了:那是因为存放音乐文件的服务器与存放网页的服务器宿主机使用不同的编码,而浏览器认为适用的编码是网页的编码,或者浏览器可以要求网页服务器传回适用的编码,而无法要求文件服务器。

这样,当文件服务器的编码与你本机的编码不同时,下载就出现乱码。

问题的主因是因为当前的OS市场份额,Windows占90%多,而Windows在国内基本都是gb2312,不是UTF-8所以文件服务器使用gb2312无可厚非,而Linux现今基本都使用UTF-8编码,所以肯定会出现乱码。如果文件服务器更换为UTF-8,那Windows就要出现乱码。

就gb2312与UTF-8哪个好,哪个不好?肯定是UTF-8好一点,为什么?因为是国际字符集,支持的字符量大。而gb2312是国标,本身支持的字符集是UTF-8的子集。打个比方,你用gb2312写的中文文本文件,用外国的机器查看,如果这个机子不知道gb2312编码,那看到的就是乱码。如果使用UTF-8写同样的内容,在外国的机子上仍然是中文。也就是说国标很难在世界范围内被普及。

我不知道当初微软在国内的OS上用gb2312的初衷,但就其影响来看一定是坏的,只是大家现在感觉不深。如果问一个经常与网页,文本打交道的程序员,他一定会咬牙切齿的憎恨gb2312.
要使文件名在不乱码不会是什么大不了的技术问题,能搞出乱码来,只有一种可能,就是做网页的人不负责。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
cheron
帖子: 127
注册时间: 2006-11-10 0:34

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#10

帖子 cheron » 2012-02-28 21:25

webyjh 写了:convmv和 iconv有什么区别呢?
man 一下就知道了

代码: 全选

convmv    converts filenames from one encoding to another
iconv    convert encoding of given files from one encoding to another

简述之,就是:
convmv是转换文件名编码,例如你遇到的mp3文件名显示为乱码
批量转换时,要将gbk转为utf8,在当前目录下,用命令行(更多的参数看man)

代码: 全选

convmv -f gbk -t utf8 --notest *

iconv是转换文档编码,类似的还有enca,也很好用
例如你下载一个中文txt文档,文件名显示正常,但是打开的内容是乱码,就可以这样
当前目录下,把一个文档编码为gb18030的转为utf8

代码: 全选

iconv -f gb18030 -t utf8 source_file > target_file

需要注意的是

代码: 全选

进行编码转换是比较简单的,但是仍然要小心,例如
convmv在某些分区上操作时,有可能会出错,如NTFS,NFS,JFS
iconv使用前,最好用file或者enca查看源文件的编码,胡乱转码会出问题
iconv不支持递归,所以批量转换时需要配合find命令
有时还会遇到压缩包解开后乱码的问题,至于解决方法,有兴趣的话搜索论坛吧

查看文件编码的命令很简单

代码: 全选

enca filename
file filename
头像
webyjh
帖子: 225
注册时间: 2008-11-06 15:18
来自: 中国

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#11

帖子 webyjh » 2012-02-28 23:43

cheron 写了:
webyjh 写了:convmv和 iconv有什么区别呢?
man 一下就知道了

代码: 全选

convmv    converts filenames from one encoding to another
iconv    convert encoding of given files from one encoding to another

简述之,就是:
convmv是转换文件名编码,例如你遇到的mp3文件名显示为乱码
批量转换时,要将gbk转为utf8,在当前目录下,用命令行(更多的参数看man)

代码: 全选

convmv -f gbk -t utf8 --notest *

iconv是转换文档编码,类似的还有enca,也很好用
例如你下载一个中文txt文档,文件名显示正常,但是打开的内容是乱码,就可以这样
当前目录下,把一个文档编码为gb18030的转为utf8

代码: 全选

iconv -f gb18030 -t utf8 source_file > target_file

需要注意的是

代码: 全选

进行编码转换是比较简单的,但是仍然要小心,例如
convmv在某些分区上操作时,有可能会出错,如NTFS,NFS,JFS
iconv使用前,最好用file或者enca查看源文件的编码,胡乱转码会出问题
iconv不支持递归,所以批量转换时需要配合find命令
有时还会遇到压缩包解开后乱码的问题,至于解决方法,有兴趣的话搜索论坛吧

查看文件编码的命令很简单

代码: 全选

enca filename
file filename
非常感谢
头像
charskar
帖子: 511
注册时间: 2011-07-28 3:14
系统: ubuntu 12.04
来自: 中國大陸安徽池州的一個鄉村中小組裏的一個農民
联系:

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#12

帖子 charskar » 2012-02-29 1:21

楼上写得很详细啊! :em11
迷乱了!ubuntu所谓的触控就是拖动图标和窗体。
连基本的放大缩小,卷动都没有,要触控有什么用?
难道就是为了用手指在屏幕上拖图标和窗体玩?
头像
webyjh
帖子: 225
注册时间: 2008-11-06 15:18
来自: 中国

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#13

帖子 webyjh » 2012-02-29 8:39

charskar 写了:楼上写得很详细啊! :em11
是啊,所以偶送出感谢了,虽然没有实质性的奖励 :em06
头像
01th
帖子: 55
注册时间: 2010-10-01 12:45

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#14

帖子 01th » 2012-02-29 15:13

留名,万一用得着却已忘了呢 :em04
头像
k9288k
帖子: 812
注册时间: 2012-02-21 22:27
系统: Ubuntu12.04

Re: 我的天啊,下载MP3连文件名都是乱码呀 T T

#15

帖子 k9288k » 2013-02-09 16:25

code vampire 写了:那是因为存放音乐文件的服务器与存放网页的服务器宿主机使用不同的编码,而浏览器认为适用的编码是网页的编码,或者浏览器可以要求网页服务器传回适用的编码,而无法要求文件服务器。

这样,当文件服务器的编码与你本机的编码不同时,下载就出现乱码。

问题的主因是因为当前的OS市场份额,Windows占90%多,而Windows在国内基本都是gb2312,不是UTF-8所以文件服务器使用gb2312无可厚非,而Linux现今基本都使用UTF-8编码,所以肯定会出现乱码。如果文件服务器更换为UTF-8,那Windows就要出现乱码。

就gb2312与UTF-8哪个好,哪个不好?肯定是UTF-8好一点,为什么?因为是国际字符集,支持的字符量大。而gb2312是国标,本身支持的字符集是UTF-8的子集。打个比方,你用gb2312写的中文文本文件,用外国的机器查看,如果这个机子不知道gb2312编码,那看到的就是乱码。如果使用UTF-8写同样的内容,在外国的机子上仍然是中文。也就是说国标很难在世界范围内被普及。

我不知道当初微软在国内的OS上用gb2312的初衷,但就其影响来看一定是坏的,只是大家现在感觉不深。如果问一个经常与网页,文本打交道的程序员,他一定会咬牙切齿的憎恨gb2312.
:em01 学习了
回复