AIX的字符编码问题

来源:互联网 发布:桌秀美化软件下载 编辑:程序博客网 时间:2024/04/28 03:37
中文字符集介绍:
     GB2313包括6763个汉字
     GBK收录了20902个汉字
     GB18030收录了27484个汉字
注:从ASCII、GB2312、 GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。

总结:
GB2312=ASCII+常用汉字+符号
GBK=GB2312+不常用字(含BIG5繁体汉字)+图形符号
GB18030=GBK+Ext-A+图形符号
Unicode=GB18030+Ext-B+……(如未发布的Ext-C及其它国家文字)
注意:Unicode的汉字编码与前三者不一样,UTF-8是Unicode的实现方式之一。

AIX系统中:
AIX的中文汉字库中,zh_CN 中有6763个汉字,而ZH_CN中有20902个汉字。如果用户要用到一些比较偏僻的汉字,建议用户安装中文环境时选择ZH_CN。

GBK的意思是 Guo (national) Biao (Standard) Kuo (Extension).
GB18030 将国家标准定义进行了扩展,包含 20902 个汉字, 它定义了所有 DBCS 字符以及中国大陆及台湾地区使用的符号
注:AIX中各字符集的区别在于zh_CN的大小写。
常用命令:
查看已经安装的字符集
     locale -a
     注:"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX
查看当前系统使用的字符集
     env | grep LANG 
修改整个系统的字符集
     vi /etc/environment --> LANG=Zh_CN
修改单个用户的字符集
     vi .profile --> EXPORT LANG=xxx
如:
  1. LANG=Zh_CN.GB18030  
  2. LC_COLLATE="Zh_CN.GB18030"  
  3. LC_CTYPE="Zh_CN.GB18030"  
  4. LC_MONETARY="Zh_CN.GB18030"  
  5. LC_NUMERIC="Zh_CN.GB18030"  
  6. LC_TIME="Zh_CN.GB18030"  
  7. LC_MESSAGES="Zh_CN.GB18030"  
  8. LC_ALL=  
  9. export LANG  

如果发现通过locale命令查出来的字符为

  1. LANG=Zh_CN.GB18030  
  2. LC_COLLATE="C"  
  3. LC_CTYPE="C"  
  4. LC_MONETARY="C"  
  5. LC_NUMERIC="C"  
  6. LC_TIME="C"  
  7. LC_MESSAGES="C"  
  8. LC_ALL=

那么需要查看.profile文件中是否有^M,使用二进制方式传入的会出现这种分隔符,导致解析环境变量异常,请直接使用vi来编辑

参考资料:
http://www.aixchina.net/home/space.php?uid=92029&do=blog&id=30346
http://blog.csdn.net/xiaxiaorui2003/article/details/8810080
0 0