热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>Linux入门>

挂载优盘上的vfat分区解决乱码问题

来源: 作者: 时间:2007-12-21 Tag: 点击:
由于 fc3 内核默认 fat32 文件系统字符编码是 ascii,如果优盘的文件名包含中文,那么在转换时会出问题,应用程序就会失去响应。具体的表现有多种,比如桌面假死,关机时提示无法卸载分区等等
解决的办法是在挂载时,根据语言环境 locale 的值,使用挂载参数。如果是 UTF-8 那么就用 mount -o utf8,如果是 GB* 那么就用 mount -o iocharset=cp936。但是这样繁琐地手动挂载就失掉了 FC3 的好处。正确的解决办法,是添加自己的配置文件,我的是这样
你先cd /usr/share/hal/fdi/95userpolicy/进入此目录然后新建storage-policy.fdi,
在用vi /usr/share/hal/fdi/95userpolicy/storage-policy.fdi
在里边输入以下代码:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="@block.storage_device:storage.removable" bool="true">
      <merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
      <merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
      <merge key="volume.policy.mount_option.users" type="bool">true</merge>
      <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
   </match>
    <match key="@block.storage_device:storage.hotpluggable" bool="true">
      <merge key="volume.policy.mount_option.fmask=111" type="bool">true</merge>
      <merge key="volume.policy.mount_option.dmask=0" type="bool">true</merge>
      <merge key="volume.policy.mount_option.users" type="bool">true</merge>
      <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
   </match>
  </device>
</deviceinfo>

原理正如上面所说,hal 在收到优盘插入的通知时,将读取这些 storage policy 配置文件。在改写 /etc/fstab 时,将用到配置文件中的数据,将这些 mount_option 全部加入 fstab 中去。在做上面的步骤时先运行:/etc/init.d/haldaemon/ stop 停了他
测试效果
测试效果的办法简单得很,但是不要急着插入优盘,而是应当先运行 service haldaemon start

如果你不想自动,而只想挂一次的话可以这样做:有些人的电脑一开始都实现自动挂载。这样的话当你的 MP3连接电脑时你要先umount 他如果这一点没有发现的话你可以先在命令行里输入mount看一下有没有自动mount上去。确定之后就先umount /dev/sdb1 然后在mount上去做法如下:
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/mp3
就可以实现解决乱码的问题啦



相关文章:
linux U盘启动盘制作
Linux设置启动程序
free -m
多核技术与并发多线程技术介绍
理解Linux的性能
section.2 booting and shutting down 引导与关机
Linux — 目录的读权限与执行权限
Linux — 硬链接与符号链接
Linux裸设备总结
linux系统文件综述
Linux下硬盘数据恢复与分区表恢复
./configure命令常用选项详解
浅谈如何学习linux
grub双系统启动顺序更改
Linux 下实现远程开机
Linux系统清除Grub的几种方法
AIX如何才能看出网线是否插好?
vxvm 逻辑卷管理中遇到的问题
linux系统文件认识
Linux守护进程列表
关于/dev/null
FreeBSD学习笔记
Linux简明教程
linux任重道远
在Linux里设置环境变量的方法(export PATH)
关于.bashrc和.vimrc不能自动被执行的问题
linux优秀网站列表
关于swap,虚拟内存和page的区别
Linux系统下系统目录详解
Cooperative Linux