LinuxSir.cn,穿越时空的Linuxsir!

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

请问这里有谁做过fat文件系统的阿?

[复制链接]
发表于 2007-1-4 11:30:14 | 显示全部楼层 |阅读模式
我有问题请教,关于中文显示的。

问题如下(只考虑短文件名情况):
一个文件名为:“1测”,那么保存在它的短目录项中为“31, 6d,  4b”,我想知道的是,显示的时候怎样才可以显示为“1测”,而不是显示成“1mK”.
发表于 2007-1-4 11:58:16 | 显示全部楼层
Post by whshuai
我有问题请教,关于中文显示的。

问题如下(只考虑短文件名情况):
一个文件名为:“1测”,那么保存在它的短目录项中为“31, 6d,  4b”,我想知道的是,显示的时候怎样才可以显示为“1测”,而不是显示成“1mK”.

你确定是“6d, 4b”?
我记得汉字存储的最高位是1(非utf-8).
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 12:10:51 | 显示全部楼层
utf16格式是6d4b.
回复 支持 反对

使用道具 举报

发表于 2007-1-4 13:16:36 | 显示全部楼层
显示fat文件系统的文件名一定要转码的
utf16只是存储方式
内核的codepage就是提供fat/ntfs文件系统转码的映射关系的
所以加载时用-iocharset=cp936或者utf8就行了,具体是那个取决于你使用的字符集
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 13:27:46 | 显示全部楼层
codepage=936的是不是一个中文占两个字符?
回复 支持 反对

使用道具 举报

发表于 2007-1-4 13:30:16 | 显示全部楼层
cp936实际是gb编码
自然2个字符
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 14:06:19 | 显示全部楼层

我这样mount对不对

mount -o loop -iocharset=cp936 FAT.img mnt

FAT.img是我建立的一个fat文件系统,我现在把它mount到mnt目录下,用上面一句不行
能不能帮我看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 14:14:37 | 显示全部楼层
现在可以mount了,但是还是显示乱马。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-4 14:19:03 | 显示全部楼层
mount的命令为mount -o iocharset=utf8 -o loop FAT.img mnt

我在FAT.img中新建的文件名为"bobo测.txt"
是utf8编码,字节为“62, 6f, 62, 6f, ffffffe6, ffffffb5, ffffff8b, 2e, 74, 78, 74”,其中“测”的utf8编码为e6b58b,然后我mount到mnt目录下,显示的是boboµ╡ï.txt。
回复 支持 反对

使用道具 举报

发表于 2007-1-4 15:57:40 | 显示全部楼层
你mount是一点问题没有,但是你的系统是什么locale?可以看到utf8编码的中文吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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