红联Linux门户
Linux帮助

使Linux和Windows中文字符集一致

发布时间:2007-07-17 20:12:24来源:红联作者:domain
Linux系统的 /usr/share/i18n/charmaps 目录保存了各种字符集的码表文件,通常是gz压缩的。

中文码表,安装容量从小到大,依次是:

GB_1988-80 :比较老了。
GB2312 :Windows简体中文的默认字符集。
GBK :cp939应该对应GBK。
GB18030:庞大的字符集。

看来,GBK与GB18030是有区别的。

刚装的Ubuntu,存盘的中文名文件,在Windows中,都是乱码。

怀疑是Linux系统使用了UTF-8编码,与GB2312编码不同,导致Linux写入的文件仅在Linux中正常,在Windows中就显示为乱码。

尝试修改fstab:

# /etc/fstab: static file system information.
#
# -- This file has been automaticly generated by ntfs-config --
#
#

proc /proc proc defaults 0 0

# Entry for /dev/sda4 :
UUID=768726bb-76da-4189-95d2-b8fb4c8fed69 / ext3 defaults,errors=remount-ro,iocharset=GB2312 0 1

# Entry for /dev/sda1 :
#UUID=F6B48DC3B48D8739 /media/sda1 ntfs-3g defaults,locale=zh_CN.UTF-8 0 1
UUID=F6B48DC3B48D8739 /media/sda1 ntfs-3g defaults,locale=zh_CN.UTF-8,iocharset=GBK 0 1

# Entry for /dev/sda2 :
#UUID=9C6C34396C34108E /media/sda2 ntfs-3g defaults,locale=zh_CN.UTF-8 0 1
UUID=9C6C34396C34108E /media/sda2 ntfs-3g defaults,locale=zh_CN.UTF-8,iocharset=GB18030 0 1

# Entry for /dev/sda3 :
UUID=5a0d18d2-caca-41e3-9567-ed40912bf5fb none swap sw 0 0

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0

/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

将根分区修改为GB2312编码,将一个NTFS修改为GBK,另一个修改为GB18030。重启Ubunto后。
文章评论

共有 0 条评论