kevin8218 发表于 2005-2-4 12:56:46

fc3挂载fat分区如何显示中文(ntfs正常)

装的FC3,升级内核到2.6.10-1.741,安装了kernel-module-ntfs- 2.6.10-1.741_FC3-2.1.22-0.rr.4.3.i686.rpm,NTFS分区能正常挂载并显示中文。可是fat分区一直不能正常显示中文,都是“???“
使用了codepage=936,iocharset=cp936等也不行,还有iocharset=utf8等。
是不是跟locale有关系,我不太明白locale,请达人指点一下吧。

dolbyking 发表于 2005-2-15 15:42:46

用 cp936 挂载之后你的应用程序不用CP936的方式去读 因为LANG=zh_CN.uft8
我当初遇到这个问题的应用程序是ROX
解决的办法只能用 LANG=zh_CN rox 先凑合撑一下
你可以用用看

ZeroJam 发表于 2005-2-15 18:15:06

在kde中用iocharset=cp936
在gnome中用iocharset=utf8

无聊的小鱼儿 发表于 2005-2-19 03:05:49

用mount挂载时后面加上-o iocharset=gb2312

cuimm 发表于 2005-2-21 18:08:20

我跟他的问题一样,加了-o iocharset=gb2312,utft,cp936都不行,怎么办?

cuimm 发表于 2005-2-21 20:39:32

自己顶一下吧,高手帮帮忙吧!

cuimm 发表于 2005-2-21 22:31:26

新发现,终端手动可以,就是不能用图形工具挂载!为什么?

释雪 发表于 2005-2-21 23:08:13

看一眼, LC_LANG变量的内容
如果是GB的,
则mount ntfs的选项加上nls=cp936
如是是utf-8的
则加nls=utf8

ntfs和vfat不一样, 指定字符集用的是nls, 不是iocharset

cuimm 发表于 2005-2-22 09:57:16

这是我的locale:

LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
ntfs 正常,加不加字符集都正常
现在的问题是,vfat 不正长??

cuimm 发表于 2005-2-22 10:00:33

下面是我在终端时的显示:问题是不敢放到fstab中去!!!!!!!!!!

mount -t vfat -o iocharset=utf8 /dev/hda14 /mnt/win32
# cd /mnt/win32
# ls
bootsect.xp               linuxtool                redhat9
fc3                     Linux.zip                System Volume Information
html                      RedFlag-4-disc1.iso.jc!文档
kill antivirus_for_linuxRedFlag-4-tool.iso

xLoneStar 发表于 2005-2-22 11:36:00

FC3 的硬盘挂载已经是自动进行的了,改 fstab 应该无效,因为下次启动会被擦掉吧

cuimm 发表于 2005-2-22 18:27:54

FC3 的硬盘挂载已经是自动进行的了,改 fstab 应该无效,因为下次启动会被擦掉吧

望党组织,给于明确的指示!

cuimm 发表于 2005-2-23 17:01:34

在顶一下!希望高手给指点一下!谢谢了!!!!!!!!!!!!!!!!!!!

xLoneStar 发表于 2005-2-23 22:17:41

这个问题被俗称为“U盘挂载问题”,即U盘中若有中文文件名,挂载后系统异常。

其实本贴的问题就是这同一个,你可以搜索一下,很多分析文章已经发表出来了。

简单来说,问题是这样的,FC3 的分区(称为卷 volume)不再是需要用户手动的一个一个给挂上,而是像 Windows 一样,任何时候检测到一个分区,都立刻给你挂上(Windows NTFS 也是有挂载点的哦)。

现在的问题就在于,如何指定它自动挂载时所用的参数,设定上“iocharset=utf8” 这个选项。方法如下:

确保haldaemon和messagebus服务启动(默认是启动的),否则在root用户下执行
# /sbin/chkconfig --level 345 haldaemon on
# /sbin/chkconfig --level 345 messagebus on
以root身份修改/usr/share/hal/fdi/90defaultpolicy/sorage-policy.fdi文件,找到这一行:
<merge key="storage.policy.default.mount_option.exec" type="bool">true</merge>
在其下添加一行
<merge key="storage.policy.default.mount_option.iocharset=utf8" type="bool">true</merge>
存盘退出,在root用户下执行
# /sbin/service haldaemon restart
# /sbin/service messagebus restart

以上是我 google 来的,原来位于 http://www.12pp.com/Article/youh/youh/200411/156.html 。请实践性地尝试,后果自负。

cuimm 发表于 2005-2-24 10:09:39

先谢谢了,这就试!!!!!!
页: [1] 2
查看完整版本: fc3挂载fat分区如何显示中文(ntfs正常)