LinuxSir.cn,穿越时空的Linuxsir!

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

大小不一样的U盘为何mount上后中文文件名显示不一样?

[复制链接]
发表于 2007-3-13 18:26:55 | 显示全部楼层 |阅读模式
一个256M和一个1G的U盘,Etch下面2.6.18的
内核下面在kde自动mount下面都不能显示中文。
我重新编译了内核2.6.20,使得内核的fat code page
为936,Native Language的NLS为utf8,现在在2.6.20
内核下256M的U盘kde自动mount后能够识别中文文件名,
但是1G的盘中文文件名还是无法正常显示。
用fdisk -l看,两个U盘都是fat16格式的。请问是怎么回事呀?

也试过NLS为cp936,但是情况一样。
发表于 2007-3-13 21:07:18 | 显示全部楼层
手动mount呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-14 08:48:43 | 显示全部楼层
搞定了,我想这应该是个BUG。
Etch 下的kde自动mount的时候默认会在/media下建立
一个disk的目录,然后以内核默认的fat文件codepage
mount到这个目录下面。如果U盘被在windows下面命名XX,
则kde会mount到/media/XX下面,但是不知道用的是什么codepage,
从而导致中文文件名不能显示。而如果U盘是在Linux下命名的,
则还是会以内核默认的方式mount到/media/disk,中文显示也不会有问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-14 11:51:25 | 显示全部楼层
似乎还是有点问题,我自己的1G U盘将命名在windows下删除就没有问题了,但是其他人的即使没有命名拿来还是不行。
回复 支持 反对

使用道具 举报

发表于 2007-3-14 13:57:59 | 显示全部楼层
先 umount ,
再加同样的 参数 mount 两个U盘,比较一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-14 17:14:40 | 显示全部楼层
Post by windwiny
先 umount ,
再加同样的 参数 mount 两个U盘,比较一下

不好mount呀,kde 自动mount了后要删除硬件的话,他把/dev/sda1一起删除了,不知道该怎么mount了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 08:53:46 | 显示全部楼层
现在基本可以认为是kde的kded守护进程的问题。kded的mediamanager模块似乎有自己的一套,不知道是用什么参数mount的。
手动mount -t vfat 不加任何codepage参数可以显示中文,说明内核fat的格式还是起作用的。但是kde自动mount就不行。
另外,现在一个在linux下命名的U盘的中文也不能显示了,但是不知道怎么把这个命名给去掉。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 18:42:50 | 显示全部楼层
我想这里有个BUG,有没有大虾能提交上去呀?
回复 支持 反对

使用道具 举报

发表于 2007-3-15 21:54:42 | 显示全部楼层
mount 查看一下有哪些挂载点。

通常情况下,U盘是/dev/sd??的

假设你的U盘是/dev/sda1

那么你应该能够看到类似 /dev/sda1 /media/??的内容

你执行:umount /dev/sda1就可以卸载了

然后: mkdir /mnt/usb
mount -o iocharset=gb2312 /dev/sda1 /mnt/usb
如果你的U盘是NTFS文件系统:
mount -o nls=cp936 /dev/sda1 /mnt/usb

然后再看看中文名是否能够正常显示。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 21:59:07 | 显示全部楼层
Post by springwind426
mount 查看一下有哪些挂载点。

通常情况下,U盘是/dev/sd??的

假设你的U盘是/dev/sda1

那么你应该能够看到类似 /dev/sda1 /media/??的内容

你执行:umount /dev/sda1就可以卸载了

然后: mkdir /mnt/usb
mount -o iocharset=gb2312 /dev/sda1 /mnt/usb
如果你的U盘是NTFS文件系统:
mount -o nls=cp936 /dev/sda1 /mnt/usb

然后再看看中文名是否能够正常显示。

手动mount都没有问题的,应该是kded的问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

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