首先,解释一下字符集:
汉字编码:
* GB2312字集是简体字集,全称为GB2312(80)字集,共包括国标简体汉字6763个。 * BIG5字集是台湾
繁体字集,共包括国标繁体汉字13053个。 * GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符
号,共包括21003个字符。 * GB18030是国家制定的一个强制性大字集标准,全称为GB18030-2000,它
的推出使汉字集有了一个“大一统”的标准。
ASCII:
American Standard Code for Information Interchange,美国信息交换标准码。 目前计算机中用得最广泛
的字符集及其编码,由美国国家标准局(ANSI)制定。 它已被国际标准化组织(ISO)定为国际标准,称为
ISO 646标准。 ASCII字符集由控制字符和图形字符组成。 在计算机的存储单元中,一个ASCII码值占一
个字节(8个二进制位),其最高位(b7)用作奇偶校验位。 所谓奇偶校验,是指在代码传送过程中用来检验
是否出现错误的一种方法,一般分奇校验和偶校验两种。 奇校验规定:正确的代码一个字节中1的个数必
须是奇数,若非奇数,则在最高位b7添1。 偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非
偶数,则在最高位b7添1。
UTF:
Unicode 的实现方式不同于编码方式。 一个字符的Unicode编码是确定的,但是在实际传输过程中,
由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。
Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。 * UTF-8: 8bit
变长
编码,对于大多数常用字符集(ASCII中0~127字符)
它只使用单字节,而对其它常用字符(特别是朝鲜和汉语会意文字),它使用3字节。 * UTF-16: 16bit编码,
是变长码,大致相当于20位编码,值在0到0x10FFFF之间,基本上就是unicode编码的实现,与CPU字
序有关。
注意:ASCII char (2) ;UTF-8 宽字符 wchar 4倍 。兼容性最好的编码就是UTF-8! 毕竟GBK/GB2312是国
内的标准,当我们大量使用国外的开源软件时,UTF-8才是编码界最通用的语言。
在Linux 中通过locale 来设置程序运行的不同语言环境,locale 由ANSI C 提供支持。locale 的命名规则 为< 语言>_< 地区>.< 字符集编码> ,如zh_CN.UTF-8 ,zh 代表中文,CN 代表大陆地区,UTF-8 表示 字符集。在locale 环境中,有一组变量,代表国际化环境中的不同设置: 如何打印等。是最重要的一个环境变量。 设置,则LC_MESSAGES 参数就会失效。LANGUAGE 参数可同时设置多种语言信息,如 LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" 。 [root@db-wanggaofei ~]# locale LANG="POSIX" LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= [root@db-wanggaofei ~]# locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.GBK" LC_NUMERIC="zh_CN.GBK" LC_TIME="zh_CN.GBK" LC_COLLATE="zh_CN.GBK" LC_MONETARY="zh_CN.GBK" LC_MESSAGES="zh_CN.GBK" LC_PAPER="zh_CN.GBK" LC_NAME="zh_CN.GBK" LC_ADDRESS="zh_CN.GBK" LC_TELEPHONE="zh_CN.GBK" LC_MEASUREMENT="zh_CN.GBK" LC_IDENTIFICATION="zh_CN.GBK" LC_ALL=zh_CN.GBK 就是C 或POSIX 。 指定一个系统默认的locale 。这样系统就会帮你自动生成相应的locale 和配置好系统的locale 。 命令即可生成新的locale 。再通过设置 上面介绍的LC_* 变量就可设置系统的locale 了。下是一个 locale.gen 文件的样例。
·
·
·
·
· zh_CN.GBK GBK · zh_CN.UTF-8 UTF-8 如下,是讲如何设置环境变量的。 修改后的/etc/sysconfig/i18n 文件为: 设置完毕后重启或者用rc.local使生效 所以要调整。 两个: LANG SUPPORTED 和你原文件字符集的编码:) 本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/jixiuffff/archive/2009/09/19/4569916.aspx |