MySQL的字符集 (一)

(1)字符集是十分重要的。

因为计算机内部实际存储都是二进制数据,而字符集通过为文字符号编码,能让计算机识别和处理文本数据。

(2)字符集是什么?

答:字符集是一套文字符号及其编码,比较规则的集合。

(3)常用字符集:

世界上已经存在了几百种字符集,不统一问题,造成本地化工作的艰难。

必须知道的:ASCII  ;  ISO-8859-1/latin 1 (西欧字符集) ;GB 2312-80 ;GBK ;GB 18030

                       UTF-32 ; UCS-2 (windows 2000内部使用);UTF-16(java 和windows Xp/NT 内部使用) ;UTF-8 (包括Linux在内广泛支持) 

(4)Unicode

    a. 1984年 ,为了统一字符编码,ISO推出了UCS(Universal Multiple-Octet Coded Character Set  ; 标准编号 ISO-10464)

注:UCS的代码空间划分为:组(group) ; 面 (plane) ; 行(row) ; 格(ceil);

   b. 1988年 Unicode协会推出了Unicode字符集

   c. ISO妥协吸收了Unicode字符集,将其作为ISO-10646的0组0面 称为基本多语言文字面(Basic Multi-lingual Plan  即BMP)

注2:还有辅助字面(supplementary planes) 和专用字面(private use planes)

注3:BMP一般只需要2个字节即可,所以又称为USC-2编码

  d.Unicode为了兼容BMP以外的字符,提出了UTF-16代理方案(限于当时环境,使用受限后,又提出了更通用的UTF-8代理方案)

(5)MySQL 支持几十种字符集。

      a.  一般情况下选用Unicode字符集,也就是最常用的UTF-8编码。好处在于支持多地区通用。

      b. 特殊情况下比如要转储数据,就要考虑原数据库的字符集问题。不过这个问题我认为可以通过一些ETL工具(比如Kettle)进行快捷转换。

猜你喜欢

转载自blog.csdn.net/HNDX2018/article/details/82836819
今日推荐