LinuxSir.cn,穿越时空的Linuxsir!

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

挂载ntfs分区的中文显示问题

[复制链接]
发表于 2005-2-16 10:22:23 | 显示全部楼层 |阅读模式
我用mount -t ntfs /dev/hda7 /mnt/movie/ -o umask=0,nls=gb2312

可以成功,但是好多中文文件名显示为未知类型的文件,用鼠标点击后就消失了

估计是那些文件名的编码用的是utf8,所以我用

mount -t ntfs /dev/hda7 /mnt/movie/ -o umask=0,nls=utf8

挂载
但是却不能成功,结果显示为:
mount: wrong fs type, bad option, bad superblock on /dev/hda7,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
我用mount -t ntfs /dev/hda7 /mnt/movie/ -o umask=0,iocharset=utf8结果也一样
看论坛上好多人都用这种方式挂载的,
请问我的问题出在哪里?
谢谢!
发表于 2005-2-16 10:56:40 | 显示全部楼层
如果您的 locale 是 GBK 或 GB2312

那就用 -o umask=0,iocharset=cp936

如果您的 locale 是 UTF-8

那就用 -o umask=0,iocharset=utf8
回复 支持 反对

使用道具 举报

发表于 2005-2-16 10:57:26 | 显示全部楼层
首先得确定您的 locale 是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-2-16 14:36:30 | 显示全部楼层
谢谢!
我的locale是GBK
用 -o umask=0,iocharset=cp936

试过发现那些中文名文件还是一点击就消失,
有什么好的解决办法吗?
回复 支持 反对

使用道具 举报

发表于 2005-2-16 19:13:26 | 显示全部楼层
Post by arping
谢谢!
我的locale是GBK
用 -o umask=0,iocharset=cp936

试过发现那些中文名文件还是一点击就消失,
有什么好的解决办法吗?

mount utf8时用-o utf8就可以,不用iocharset,但如果locale是gbk的话,只有在gnome的文件管理器中是正常的。内核要支持utf8,我有一次就是编译没编译utf8就不能用utf8挂载.
回复 支持 反对

使用道具 举报

发表于 2005-2-16 20:10:55 | 显示全部楼层
2楼说的没有道理.
我的locale是zh_CN.GBK,我的fstab:
/dev/hda1       /mnt/c     ntfs     umask=022,nls=utf8   0 0
/dev/hda5       /mnt/d     ntfs     umask=022,nls=utf8   0 0
/dev/hda6       /mnt/e     ntfs     umask=022,nls=utf8   0 0
/dev/hda7       /mnt/f     ntfs     umask=022,nls=utf8   0 0
可以正常显示中文.楼主可以参考一下.
回复 支持 反对

使用道具 举报

发表于 2005-11-26 00:18:05 | 显示全部楼层
同样问题:

locale 后的结果
[root@jolinComp nls]# locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=

请问要修改locale吗
怎么修改阿
回复 支持 反对

使用道具 举报

发表于 2005-11-26 00:21:48 | 显示全部楼层
mount -t ntfs -o iocharset=cp936,umask=000 /dev/hda6 /mnt/WinE/
能看到某些中文的文件,某些看不到

mount -t ntfs /dev/hda6 /mnt/WinE/
所有中文文件都看不到

mount -t ntfs -o iocharset=utf8,umask=000 /dev/hda6 /mnt/WinE/
所有文件都能看到,可惜是乱码

我想是我的locale的问题,不知道怎么解决
回复 支持 反对

使用道具 举报

发表于 2005-11-26 00:32:57 | 显示全部楼层
编码问题,如果你用的是nautilus就会出现这种情况,因为nautilus使用utf-8编码,而locales为gb2312或gbk
你可以试试在控制台下,所有文件名应该是正常的。
你可以换个文件管理器试试,我现在用的是rox-filer,能够正常显示gb2312编码的文件名,但显示为红色(它认为这些文件名不是合法的utf-8编码的文件名,但可以正常显示和操作。)
回复 支持 反对

使用道具 举报

发表于 2005-11-26 01:05:55 | 显示全部楼层
locale要用zh_CN.UTF-8,mount时加-o iocharset=utf8即可。
回复 支持 反对

使用道具 举报

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

本版积分规则

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