分页: 2 / 2
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2009-12-01 0:50
由 AutoXBC
highwind 写了:新问题:用ff在webqq的群共享下文件,但是下载后文件名乱码
比如:
变成
代码: 全选
%E6%89%8B%E5%86%99%E8%A1%A8%E8%AF%A6%E8%A7%A3.JPG
1.这是utf8和gbk的问题呢,还是ascii码的问题?
2.我在别的网站下载也遇到类似问题,但是也有很多情况没有任何问题,那么应该是网站的问题了吧?
3.那这个问题能靠我修改一些设置解决吗?
4.加入遇到不知原名的类似文件用enca 或者 convmv能将其转换吗?

还是很菜,老鸟不吝赐教吧。
这是 utf8 编码的文件名,在下载时没有自动解码。不知道怎么设置浏览器,已经下载的可以用 ee 说的 uni2ascii 转换。
viewtopic.php?f=21&t=183041
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2009-12-01 12:52
由 highwind
AutoXBC 写了:highwind 写了:新问题:用ff在webqq的群共享下文件,但是下载后文件名乱码
比如:
变成
代码: 全选
%E6%89%8B%E5%86%99%E8%A1%A8%E8%AF%A6%E8%A7%A3.JPG
1.这是utf8和gbk的问题呢,还是ascii码的问题?
2.我在别的网站下载也遇到类似问题,但是也有很多情况没有任何问题,那么应该是网站的问题了吧?
3.那这个问题能靠我修改一些设置解决吗?
4.加入遇到不知原名的类似文件用enca 或者 convmv能将其转换吗?

还是很菜,老鸟不吝赐教吧。
这是 utf8 编码的文件名,在下载时没有自动解码。不知道怎么设置浏览器,已经下载的可以用 ee 说的 uni2ascii 转换。
viewtopic.php?f=21&t=183041
谢谢楼上,可以解决。
现在看谁有办法设置浏览器了。

Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2009-12-01 13:24
由 highwind
highwind 写了:
谢谢楼上阿,原来是要用用 ISO-8859-1来保存阿,接下来我就知道了,真的谢谢了,以后这个播放列表的问题就好办了。
关于转换代码我也有些小技巧。我说出来大家分享下吧,新手帮新手。
您说用kwrite,其实gedit就可以,呵呵,这个如果用ubuntu应该人人都有,那么我依样画葫芦:
1。打开gedit,复制”乱码字符串“到里面,保存为“ISO-8859”编码(是不是大多数情况都可以这样解决?)名字简单点,比如‘a‘
2。打开一个shell,enca 这个'a',看看是什么编码。
3。一般都会是GBK的。然后用enca来转换就可以了,然和cat之,一看就知道是啥了,再rm之,完事。
(我在.bashrc 里做了一个 alias enu='enca -L zh_CN -x UTF-8',因为大多数情况下都是需要这样转换的)
那如果用convmv怎么来实现呢?
iso-8859-1、gbk、utf8转来转去好迷茫阿?
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2009-12-01 18:16
由 highwind
运气好,给我试出来了:
1.
代码: 全选
convmv -r -f utf8 -t iso88591 * --notest --nosmart
这时候虽然是乱码,但不要怕
2.
代码: 全选
convmv -r -f gbk -t utf8 * --notest --nosmart
这样应该就能看到正常的中文了
思路是这样的,ubuntu系统默认的是utf8编码,我们先把它变成iso88591,然后用gbk去读取这串字符串,然后写回成ubuntu默认的utf8格式就好了。
至于有没有啥命令能一气呵成呢?用&&就好啦。
代码: 全选
convmv -r -f utf8 -t iso88591 * --notest --nosmart && convmv -r -f gbk -t utf8 * --notest --nosmart
如果下次还有这样的要求,做个alias放在.bashrc里就好啦
(不过类似操作前最好备份一下,或者拿单个文件试验试验的好,大家要养成这样的习惯阿,拷贝了命令自己随便乱试!)
代码: 全选
顺便提示新手
convmv:命令
-r:包括对子目录进行操作
-f utf8:从utf8编码
-t iso88591:变成iso88591编码
*:所有文件
--notest:不试,直接改名
--nosmart:忽略已经是utf8编码的文件名
最后多谢之前的各位的帮助,尤其是autoxbc的教导。
不对之处,大家指点。
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2010-03-14 23:22
由 highwind
代码: 全选
nautilus-filename-repairer
终极解决法

Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2010-04-26 14:27
由 chu887
为什么我在10.04下 nautilus-filename-repairer跟不就不起作用???

Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2010-04-26 18:48
由 highwind
好像0.06版的和10.04配合的挺好呀?

Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2010-04-26 20:01
由 BigSnake.NET
代码: 全选
autumncat@autumncat-host ~ $ echo "Í·ºÅ¹«µÐ2.Mesrine.Part2.Public.Enemy.2008.Blu-ray" | iconv -t ISO-8859-1 | iconv -f GBK
头号公敌2.Mesrine.Part2.Public.Enemy.2008.Blu-ray
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2010-04-26 20:13
由 i_NIX
此帖算是我浏览论坛看到的比较有含量的帖子了
Re: 有什么命令可以把一个字符串转换编码的呀?
发表于 : 2013-12-19 12:44
由 bzhao
转换结果:头号公敌2.Mesrine.Part2.Public.Enemy.2008.Blu-ray
方法是:
1. convmv -r -f utf8 -t iso88591 "乱码文件名" --notest --nosmart
2. convmv -r -f gbk -t utf8 "乱码文件名2" --notest --nosmart
(乱码文件名2 是通过1转换出来)