目前环境中经常会遇到编码转化的问题,UTF-8跟GB2312也有问题。只得在Linux上安装GB2312(在Linux操作系统上又称zh_CN.GB2312)的字符集,具体请看下文。
Linux下几个i18n(internationalization)相关的目录和文件
/etc/sysconfig/i18n(文件)
这个文件是用来配置整个操作系统的locale的,就像Windows操作系统上的Locale一样,它可以用来配置当前的语言,字符集等。例如,一个可能的/etc/sysconfig/i18n的文件如下所示:
LANG="zh_CN.GB2312" (指定当前操作系统的字符集)
SUPPORTED="zh_CN.GB2312"(指定当前操作系统支持的字符集)
SYSFONT="lat0-sun16"(指定当前操作系统的字体)
/usr/share/i18n/charmaps(目录)
这个目录下存放了该Linux操作系统可用字符集的安装包,如果你的操作系统上没有安装某个字符集可以到这个目录下寻找安装包。例如:GB2312的安装包名字为“GB2312.gz
/usr/share/i18n/locales(目录)
这个目录下存放了和所有语言包对应的locale信息,例如:zh_CN.GB2312是一个完整的字符集,其中zh表示语言,CN表示这个语言使用的国家,GB2312表示这个语言所对应的编码。/usr/share/i18n/locales下存在的都是类似zh_CN的语言和所在国家的信息。
/usr/lib/locale(目录)
这个目录存放的都是目前操作系统上已经安装好的locale信息。
Linux下与i18n相关的几个SHELL命令
locale命令 (用来查看系统locale的信息)
localedef命令(用来安装系统locale的信息)
Linux下安装GB2312的示例
Step 1: 到Linux字符集的安装包目录下
[cd /usr/share/i18n/charmaps]
Step 2: 解压该目录下的GB2312.gz
[gunzip GB2312.gz]
Step 3: 安装字符集
[localedef -f GB2312 -i zh_CN /usr/lib/locale/zh_CN.GB2312]
Step 4: 查看是否已经定义
[locale -a | grep GB2312]
Step 5: 安装完毕后,你只要修改/etc/sysconfig/i18n文件就可以修改当前的字符集为新安装的zh_CN.GB2312字符集了