MYSQL-utf8 COLLATE排序相关字符集

前言

MYSQL中关于utf8 COLLATE排序相关的字符集有不少,utf8、utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci,下面来说说它们的区别。


utf8

MYSQL中的utf8其实是utf8mb3,最大字符长度为3字节,如果遇到4字节的宽字符插入就会异常

最大为3字节的utf8字符集能编码的最大unicode字符是0xffff,即unicode编码中的基本多文种平面(BMP)编码区段。也就是说,任何不在unicode字符集基本多文种平面(BMP)编码区段的字符,都无法使用MYSQL的utf8字符集,包括Emoji表情(Emoji 是一种特殊的 unicode 编码,常见于 ios 和 android 手机上)、很多不常用的汉字和任何新增的unicode字符等。

总结:优点是节省空间,但是不能表达全部的utf8字符,推荐使用utf8mb4


utf8mb4_bin

mb4即 most bytes 4,最多使用4个字节表示字符,能够表示全部的unicode字符

bin表示将字符串每个字符用二进制数据编译存储,区分大小写,可以存二进制内容


utf8mb4_general_ci

ci即 case insensitiveÿ

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值