LinuxSir.cn,穿越时空的Linuxsir!

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

怎么在console里显示中文目录? - SOLVED

[复制链接]
发表于 2005-10-10 11:13:01 | 显示全部楼层 |阅读模式
好像是一个老问题了。

桌面用的是en_US.utf8,所有的文件,目录, mp3 tag都是utf8编码。
没有任何问题。

但是如果mount一个ntfs的 usbdisk,
mount -t ntfs -o iocharset=cp936 /dev/sda1 /mnt/tmp
ls 能够看到一堆乱码, 需要
ls -l | iconv -f gb2312 -t utf8
才能够看到中文,非常的不方便。

有什么办法可以不改变当前的locale,就直接可以输出正确的中文文件名,目录呢?

——还有一个问题是关于dbus的 。用了dbus,可以直接把usbdisk mount 到 /media/usbdisk
但是 codepage不对,所以什么中文(包括乱码)都看不到,在哪里配置dbus/ivman呢?
 楼主| 发表于 2005-10-10 11:26:46 | 显示全部楼层
solution:
mount -t ntfs -o nls=cp936 utf8 /dev/sda1 /mnt/tmp

Solution2:
sudoedit /etc/ivman/IvmConfigActions.xml

Add these two lines:
        <ivm:Option name="mountoption" value="nls=cp936" />
        <ivm:Option name="mountoption" value="utf8" />

after
    <ivm:Match name="hal.volume.fstype" value="ntfs">
        <ivm:Option name="mountoption" value="umask=0007" />
        <ivm:Option name="mountoption" value="gid=100" />
回复 支持 反对

使用道具 举报

发表于 2005-10-10 20:35:02 | 显示全部楼层
不是应该这样么?
mount -t ntfs -o nls=utf8 /dev/sda1 /mnt/tmp
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-11 03:04:48 | 显示全部楼层
因为mount的分区用的是utf16编码的中文,所以应该是nls=gb2312,
utf8是启用utf8转换的开关。
回复 支持 反对

使用道具 举报

发表于 2005-10-11 05:02:41 | 显示全部楼层
mount -t ntfs -o utf8 /dev/sdb1 /mnt/temp

提示:
NTFS-fs warning (device sdb1): parse_options(): Option utf8 is no longer supported, using option nls=utf8. Please use option nls=utf8 in the future and make sure utf8 is compiled either as a module or into the kernel.

如我想象的一样,utf8 这个选项是deprecated,应该用nls=utf8。

不知道两个一起使用的话,哪个有效。(utf8 和 nls=gbk),我觉得应该是utf8,也就是nls=utf8起作用。
回复 支持 反对

使用道具 举报

发表于 2005-10-11 07:20:59 | 显示全部楼层
没记错的话,freebsd下mount ntfs似乎是用nls=gbk , mount fat就用nls=utf8 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-11 07:38:46 | 显示全部楼层
Probably you guys are right.
But I don't have the right disc to test. :-(
回复 支持 反对

使用道具 举报

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

本版积分规则

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