首页 > 代码库 > MySql的字符集学习

MySql的字符集学习

1.MySql的字符集包括字符集(CHARACTER)和校验规则(COLLATION)两个概念。字符集是用来定义MySql存储字符串的方式;校验规则是用来定义MySql比较字符串的方式。字符集与校验规则是一对多关系。

2.每个字符集至少应对应一个校验规则,可以使用“ SHOW  COLLATION LIKE ‘%字符集%‘”查看,例如查看GBK字符集的校验规则如下:

技术分享


3. 校验规则命名约定:他们以其相关的字符集名开始,通常包括一个语言名,并且以 “下划线”+ “ci” 或 “cs” 或 “bin”结束 ;
  (1)_ci:大小写不敏感(不区分大小写)
  (2)_cs:大小写敏感(严格区分大小写)
  (3)_bin:二元,即比较是基于字符编码的值而与语言无关。

4.字符集校验规则比较如下:

技术分享

“ERROR 1253 (42000): COLLATION ‘gbk_chinese_ci‘ is not valid for CHARACTER SET ‘utf8‘”错误信息含义是:当前系统字符集为utf8,校验规则gbk_chinese_ci‘不是utf8字符集的校验规则,需要设置字符集为gbk: :

技术分享


不区分大小写比较 :

技术分享

二元比较:

技术分享


MySql的字符集学习