LinuxSir.cn,穿越时空的Linuxsir!

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

[已解决]挂载光盘,有乱码,文件名有中文的地方确不显示

[复制链接]
发表于 2007-11-25 20:20:51 | 显示全部楼层 |阅读模式
今天把一个下载的电影刻录刻到光盘里。在 Windows XP下没有什么问题。可是在Gentoo下,却产生了乱码问题:
光盘的标签(Label)显示正常,里面的文件名有中文的地方确不显示。

如图下方左图“乱码”所示:

我的光驱在/dev/hdc, mount到/media/cdrom1。

我在/etc/fstab的设置为:

/dev/hdb        /media/cdrom0   udf,iso9660 user,noauto,utf8     0       0
/dev/hdc        /media/cdrom1   udf,iso9660 user,noauto,utf8     0       0
/dev/hdd        /media/cdrom2   udf,iso9660 user,noauto,utf8     0       0

mount信息如下:
$ mount
/dev/hda7 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
udev on /dev type tmpfs (rw,nosuid)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/hda1 on /boot type ext3 (rw)
/dev/hda6 on /home type ext3 (rw)
/dev/hda3 on /mnt/Debian type ext3 (rw)
/dev/hda8 on /mnt/Archlinux type ext3 (rw)
/dev/hda9 on /mnt/LFS type ext3 (rw)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
/dev/sda1 on /media/JOHNWANG type vfat (rw,nosuid,nodev,shortname=lower,uid=1000,utf8)
/dev/sdb2 on /media/disk type ext3 (rw,nosuid,nodev)
/dev/sdb1 on /media/MOVE1 type ntfs (rw,nosuid,nodev,umask=222,utf8)
/dev/hdc on /media/cdrom1 type iso9660 (ro,noexec,nosuid,nodev,utf8,user=wangjun)

Volume 信息,如下方右图“volume”所示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2007-11-25 20:51:42 | 显示全部楼层
我的locale
wangjun@mybox ~ $ 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=zh_CN.UTF-8
回复 支持 反对

使用道具 举报

发表于 2007-11-26 01:42:51 | 显示全部楼层
内核没有编好,
/usr/src/linux/.config中
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=936
CONFIG_FAT_DEFAULT_IOCHARSET="gb2312"
即可。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 09:25:31 | 显示全部楼层
回去试试。
不过我的U盘,移动硬盘什么的都很好,没有这个问题。只是光盘有这个乱码。这个位置指定的也只是FAT的选项。会不会还有指定光盘的codepage的位置呢?
回复 支持 反对

使用道具 举报

发表于 2007-11-26 10:19:31 | 显示全部楼层
用其它的光盘有没有这样的问题呢?
回复 支持 反对

使用道具 举报

发表于 2007-11-26 20:29:05 | 显示全部楼层
Post by acevery;1787653
内核没有编好,
/usr/src/linux/.config中
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=936
CONFIG_FAT_DEFAULT_IOCHARSET="gb2312"
即可。


我觉得应该是这两个选项:
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
我的fstab中的光盘设置:
/dev/cdrom              /mnt/cdrom      auto            noauto,user     0 0
回复 支持 反对

使用道具 举报

发表于 2007-11-26 20:38:43 | 显示全部楼层
我的:
CONFIG_NLS_DEFAULT="gb18030"
我以前cdrom不行的时候是
CONFIG_FAT_DEFAULT_IOCHARSET="gb18030"
改成
CONFIG_FAT_DEFAULT_IOCHARSET="gb2312"
就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 21:46:12 | 显示全部楼层
thanks, acevery

我重新编译了内核,现在好了。

非常感谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 22:01:27 | 显示全部楼层
我现在的内核配置里面,和NLS, FAT 有关的选项如下:

wangjun@mybox ~ $ grep NLS My_kernel_config.current
CONFIG_UDF_NLS=y
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=y
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y

wangjun@mybox ~ $ grep FAT My_kernel_config.current
CONFIG_X86_MCE_NONFATAL=y
# DOS/FAT/NT Filesystems
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=936
CONFIG_FAT_DEFAULT_IOCHARSET="gb2312"
回复 支持 反对

使用道具 举报

发表于 2007-11-26 22:52:04 | 显示全部楼层
Post by wangjun.sh;1787577
我的locale
wangjun@mybox ~ $ 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=zh_CN.UTF-8


请问一逻辑问题:cdrom和fat有嘛关系?又不用fat挂载~人家是iso9660或者udf~
回复 支持 反对

使用道具 举报

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

本版积分规则

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