1.MySql的字符集包括字符集(CHARACTER)和校验规则(COLLATION)两个概念。字符集是用来定义MySql存储字符串的方式;校验规则是用来定义MySql比较字符串的方式。字符集与校验规则是1对多关系。
2.每一个字符集最少应对应1个校验规则,可使用“ SHOW COLLATION LIKE '%字符集%'”查看,例如查看GBK字符集的校验规则以下:
3. 校验规则命名约定:他们以其相干的字符集名开始,通常包括1个语言名,并且以 “下划线”+ “ci” 或 “cs” 或 “bin”结束 ;
(1)_ci:大小写不敏感(不辨别大小写)
(2)_cs:大小写敏感(严格辨别大小写)
(3)_bin:2元,即比较是基于字符编码的值而与语言无关。
4.字符集校验规则比较以下:
“ERROR 1253 (42000): COLLATION 'gbk_chinese_ci' is not valid for CHARACTER SET 'utf8'”毛病信息含义是:当前系统字符集为utf8,校验规则gbk_chinese_ci'不是utf8字符集的校验规则,需要设置字符集为gbk: :
不辨别大小写比较 :
2元比较: