mysql字符集

Unicode编码只是给了所有的文字一个独一无二的编码(比如a为96怎么实现依赖具体的字符集)。
utf8mb4_0900_ai_ci是一个collation,utf8mb4是字符集。
中间的0900,它对应的是Unicode 9.0的规范。Unicode规范是在不断更新的,每次更新既包括扩充,也包括修正。
_ai中ai表示accent insensitivity,也就是“不区分音调”,
_ci中ci表示case insensitivity,也就是“不区分大小写”。

collation作用是定义了哪个字符和哪个字符是等价的。所以如果指定“不区分大小写”,那么a和A,e和E就是等价的。如果设置“不区分音调”,这时候e、ē、é、ě、è就是等价的,那么假设我们要进行拼音查找,只要按e去找就可以全部列出来。甚至,它们也和ê、ë也是等价的。

collation也定义了字符的排序规则,如果按照“字符顺序(而不是简单的‘字母顺序’)”来排序,哪个字符应当排在哪个字符前面。所以,尽管“啊”、“副”、“德”三个字的拼音开头分别为A、F、D,但直接选定collation为utf8mb4,它们并不会按照“啊”、“德”、“副”的顺序排序,而是会排成“副”、“啊”、“德”。如果你希望把中文字符按照拼音(英文字母)来排序,指定使用gb18030_chinese_ci作为collation就可以了。
collation依赖于字符集(character set),所以把gb18030_chinese_ci作为collation,就要求字符集是gb18030,而不能是utf8mb4。
字符集定义了可以使用的字符,对应的collation定义了字符之间的关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值