zy_sunshine 发表于 2009-9-16 12:19:56

在gbk系统下挂载utf8盘符时的编码处理

通常大家都用着n多系统,因此在不同的系统下查看其他系统目录时,编码成了问题,中文字符不能正常显示。

根据sejishikong大哥的指点,总结了一些命令,分享给大家,您也甭去google了。

根据我的系统,在magiclinux下操作,挂载ubuntu盘符。magiclinux下编码是gbk ubuntu下是utf-8。

一是在/etc/fstab中指定编码,或者在mount的时候指定。

相关命令:
fstab中指定locale 或者iocharset为目标编码。
locale=utf8
iocharset=utf8
ntfs-3g (fuse)使用locale指定,ext3之类的fs使用iocharset指定。

mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
ext4不能指定 iocharset,因此ext4的用户要使用下面的第三种方法了。

二是利用convmv把文件名的编码转换了,不过这样会影响到原来的编码。
没试过,不想转换文件名编码,怕半路失败,不能恢复。

三是用convmvfs,这是基于fuse的一个编码转换fs,可以不影响原来的文件名,而且会自动的互相转换。
convmvfs /mnt/sda9_utf8 -o srcdir=/mnt/sda9,icharset=utf8,ocharset=gbk

zy_sunshine 发表于 2009-9-16 12:23:03

to umount

fusermount -u /mnt/sda9_utf8

sejishikong 发表于 2009-9-16 12:29:55

用iocharset指定我知道的只有vfat(msdos),iso9660及内核的ntfs支持。ext2/3/4,reisefs之类的是不支持的。
页: [1]
查看完整版本: 在gbk系统下挂载utf8盘符时的编码处理