[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 请教U盘自动mount后中文无法显示的问题



您好!

曾雷杰 写道:
> 各位,
> 
> 有如下问题,请指教。
> 
> 环境:debian testing(连接中科大的apt源)
>       其中LANG=en_US.UTF-8
>          GDM_LANG=en_US.UTF-8

顺便提醒一下大家,下次问 U 盘自动挂载的问题时,
请说明用的是 GNOME 抑或是 KDE 抑或是其他。
您提到 GDM,估计您用的是 GNOME。 :-)

> 问题:
>    在安装debian 4.0 etch后插入优盘有能够自动识别,中文文件名和目录名显示正常,
> 但是更新apt源(testing)后发现插入优盘后尽管能够自动识别,但是中文文件名和目录名
> 都不能正常显示。不知为什么?
> 
>    之后,我试图进行手动mount,执行的命令和结果如下:(/dev/sdc代表U盘)
>    1) 执行操作mount -o codepage=936 /dev/sdc /mnt后显示的中文仍然乱码。
>    2)执行操作mount -o iocharset=gb2312 /dev/sdc /mnt后显示的中文仍然乱码。
>    3) 执行操作mount -o utf8 /dev/sdc /mnt后显示的中文正常。
> 
>    尽管现在能够通过3)能够显示,但是自动mount后不能正常显示总觉得不好,有谁知道
> 如何修改能够识别中文名?

在 GNOME 里,自动挂载时用什么参数,是写在 GNOME 的“注册表”gconf 里的,
gnome-mount 挂载时会读里面的 mount_options。详见 gnome-mount
软件包和 man gnome-mount 手册页。

解决方法:

 1. 打开 gconf-editor。您会看到一个有一点点像 Windows 中 regedit 的配置
编辑器。

 2. 展开目录树: system/storage/default_options,应该会看到 5 项:
    iso9660, ntfs, ntfs-3g, udf 和 vfat。

 3. 需要关注的可能只有 iso9660、ntfs-3g 和 vfat。
     a) iso9660 的 mount_options 可能要追加 iocharset=utf8。
        我的是 [uid=,iocharset=utf8]
     b) ntfs-3g 的 mount_options 是 [locale=] 即可。这个应该是默认值。
        注意等号后不需要添加任何参数,系统会在挂载时自动探测适当的
locale 值。
     c) vfat 的 mount_options,我追加了 utf8,变成
        [shortname=lower,uid=,utf8]

据我初步了解,目前 gnome-mount 0.7 版本只支持 uid= 和 locale= 这两个
自动参数,尚未支持 iocharset=,所以暂时得手动添加。

或者这里的 GNOME 大师们可以帮忙理解一下? :-)

>    注:也许通过修改内核使得在进行mount时设置的默认编码为utf8然后重新编译可以解决。
> 以上问题,请指教。多谢。

也是一个方法,不过通过以上方法,用户空间可以解决,不需重编内核。

Good luck!

霍东灵 Anthony Fok
即时利尼克斯软件有限公司 ThizLinux Software Co., Ltd.

--


Reply to: