LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1014|回复: 7

想把locale从非utf-8转到UTF-8,遇到些问题

[复制链接]
发表于 2005-11-17 14:25:33 | 显示全部楼层 |阅读模式
发现用utf-8的locale 挂载分区后:
在konqueror中看原来的中文文件和文件夹都不见了,而且新建文件或文件夹只能以英文命名,如果用中文就提示无法创建

而在nautilus和字符界面下以及X下的终端里能看到那些文件还在,文件名全都是问号,但是在nautilus里连创建一个文件或文件夹都不行



搜索了一些帖子,但感觉众说纷纭,比如说转换编码有的说iconv有的又说convmv,还有难道只有这一个办法能作到顺利显示中文文件吗?
发表于 2005-11-17 14:37:04 | 显示全部楼层
挂载的是windows分区的话,要加iocharset=utf8,如果是原来linux的分区的话,就要用convmv来改文件名。
iconv是来装文件内容的编码的,不过感觉没有什么必要,因为很多软件都可以自动识别编码
回复 支持 反对

使用道具 举报

发表于 2005-11-17 14:49:24 | 显示全部楼层
convmv方便点,但iconv也可以转文件名,把当前目录下的文件名从gbk转为utf8

for i in * ; do mv $i `echo $i | iconv -f gbk -t utf8` ; done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-17 14:49:27 | 显示全部楼层
Post by zlbruce
挂载的是windows分区的话,要加iocharset=utf8,如果是原来linux的分区的话,就要用convmv来改文件名。
iconv是来装文件内容的编码的,不过感觉没有什么必要,因为很多软件都可以自动识别编码


我说的就是挂载的WINDOWS 的分区,加了locale参数了啊,这样不用修改什么就直接能显示中文了?我的怎么不行
回复 支持 反对

使用道具 举报

发表于 2005-11-17 15:00:44 | 显示全部楼层
Post by gdxk
我说的就是挂载的WINDOWS 的分区,加了locale参数了啊,这样不用修改什么就直接能显示中文了?我的怎么不行

是可以直接显示的,你的/etc/fstab是怎么写的?
回复 支持 反对

使用道具 举报

发表于 2005-11-17 15:01:41 | 显示全部楼层
Post by troll
convmv方便点,但iconv也可以转文件名,把当前目录下的文件名从gbk转为utf8

for i in * ; do mv $i `echo $i | iconv -f gbk -t utf8` ; done

呵呵,Linux的shell就是强大     
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-17 15:05:27 | 显示全部楼层
Post by troll
convmv方便点,但iconv也可以转文件名,把当前目录下的文件名从gbk转为utf8

for i in * ; do mv $i `echo $i | iconv -f gbk -t utf8` ; done



Linux的shell是很强大,以至于这位大侠的命令我没看懂。。。。:(
回复 支持 反对

使用道具 举报

发表于 2005-11-17 15:11:24 | 显示全部楼层
windows分区不用文件名转码,ntfs的话就加nls=utf8的挂载选项,fat的就用iocharset=utf8。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表