LinuxSir.cn,穿越时空的Linuxsir!

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

求教关于“文件系统编码”的问题!

[复制链接]
发表于 2005-9-8 14:45:03 | 显示全部楼层 |阅读模式
编辑内核配置时,发现VFAT分区格式有编码的区别,有若干种编码格式:ASCII、iso8859-XX、cp936……
理论上讲用简体中文的应该是选cp936,但用ASCII、ISO8859-1……这些,差别在哪里呢?
而且如果locale是UTF8,VFAT出乱码好象很平常。
****************
问题来了:
比如我现在有几个设备比如U盘、MO等,我需要通过什么方法知道它们是什么编码格式?
****************
之所以问这个问题,是因为我的两个U盘,在FC2下和FC4下效果居然不同,用Win格式化的那个直接mount /dev/sda1 /mnt/usb就OK了,而用Usboot格式化做启动盘的那个,在FC2下直接mount,在FC4下却要指定文件系统才行:mount -t vfat /dev/.........后来编译内核试了若干个编码才算勉强搞定。但UTF8的locale下乱码仍是个问题。
发表于 2005-9-8 16:02:22 | 显示全部楼层
-t vfat 是因为 /etc/filesystems 这个文件没有 vfat 这行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-8 17:04:42 | 显示全部楼层
如果如楼上所说,那为什么两个U盘,都是FAT格式,有一个可以直接mount,有一个必须加-t vfat呢?
回复 支持 反对

使用道具 举报

发表于 2005-9-8 17:27:14 | 显示全部楼层
实在搞不明白了,这个编码到底是怎么回事啊?
回复 支持 反对

使用道具 举报

发表于 2005-9-8 17:56:26 | 显示全部楼层
i have never seen this situation before,,no idea.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-9 08:55:23 | 显示全部楼层
昨天回去看了一下,/etc/filesystems中有fat这一行。
再用fdisk -l看了一下设备:用win格式化的那个U盘,是FAT16格式;而用Usboot做的那个,非常奇怪的居然是FAT16 < 32M。但实际我的两个U盘都是128M。
在设备描述中是这样的:FAT16 < 32M代码是04,而FAT16是06。
但它们都应该是属于VFAT管理的,否则加-t vfat就没用了。
不知道为什么FAT16可以不加-t,而FAT16 < 32M需要加。
回复 支持 反对

使用道具 举报

发表于 2005-9-9 11:09:37 | 显示全部楼层
看的很仔细。
我不知道为什么,不过也许这个就是区别吧。也许Linux没自动区别FAT16 < 32M。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-9 14:29:10 | 显示全部楼层
我用了一个不是办法的办法,从另一个角度也可以解决这个问题。
在win下把U盘重新格式化为FAT16格式,用usboot只处理引导部分,不格式化U盘,这样就不会被搞成FAT16 < 32M了。
在Linux下也正常了。
算是无奈之举吧。
感觉Linux把这些东西复杂化了,本来无论哪个语言版本的win格式化的FAT16或FAT32,都是通用的,可以用各种语言编码命名文件名。在Linux下居然搞出了那么多的FAT编码。看都看晕了。
回复 支持 反对

使用道具 举报

发表于 2005-9-9 17:12:17 | 显示全部楼层
我认为是你把问题搞复杂化了。反正Mandriva打从支持挂载FAT、NTFS和U盘自动挂载的那一天起,就没有乱码,无论是zh_CN.GB2312,还是zh_CN.UTF-8,我都没有遇到过乱码。

So,不要乱扣帽子。动不动就说Linux如何如何,你只是在一个特定的发行版上纠缠不清。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-10 08:51:05 | 显示全部楼层
对,看前面的帖子,我讨论的就是在FC4下的问题。
并且,楼上的,你用过多少种编码文件名?就敢说没有乱码?
我乱扣帽子?事实就是如此,Linux下的乱码问题比其实任何一个系统都要频繁。
你有试过在你的系统里用繁体文件名+简体文件名(或其它编码)混用吗?我看你出不出乱码。
在win下这样的用法是允许的,你的Linux呢?
不要动不动就用教训人的口气来这里乱指责!
这里可以说是讨论区,即使有不对的观点,也只是欢迎指正,你没有碰到过,并不等于不存在。
也许,在你心目中把Linux崇拜成了神,它的缺点说不得;但在我这里不是,我只是把它当作一
个工具,讨论它只是为了更好的使用它。
并且,FAT区分出的N个编码,是在Linux内核中存在的,这一点,无论哪个Linux发行版都不可
避免。这不是复杂化了是什么?
所以我所说的“Linux把编码问题复杂化以至于不能很好的处理编码”问题,绝不是乱扣帽子!
回复 支持 反对

使用道具 举报

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

本版积分规则

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