- MySql允许在同一台服务器,同一个数据库甚至同一个表的不同字段指定不同的字符集,所以MySql在字符集的使用上面十分的灵活。
- 查看MySQL支持哪些字符集? show character set;
- MySQL关于字符集有两个主要组成部分:字符集(character)和校对规则(collation)
- 校对规则是用来决定字符串以何种方式进行比较
- 可以在 information_schema.character_set 表中查找字符集及其对应的校对规则。
- 通过系统表 information_shcema.COLLATIONS 来查看相关字符集的校对规则: show collation like 'gbk%'
- 校对规则的命名约定: a. 以相关字符集名开始 , 然后是语言名 ,最后是一个约定 比如:gbk_chinese_ci b. ci (大小写不敏感) , _cs(大小写敏感) , _bin (二元,即比较基于字符编码的值而与语言无关)
- 使用不同的校对规则 比较 ‘A’和‘a’
select
case
when
'A' COLLATE gbk_chinese_ci
=
'a' collate gbk_chinese_ci
then
1
else
0
end;