MySQL utf8和utf8mb4编码

1、MySQL中utf8字符集

  • utf8是MySQL存储Unicode数据的一种编码方式
  • utf8中一个符号使用1~3个字节表示

2、MySQL中utf8mb4字符集

由于utf8对UTF-8支持不彻底,无法存放表情(emoji)和不常用汉字,因此引入utf8mb4字符集,其中mb4就是most bytes 4,专门用来兼容四字节的Unicode。并且utf8mb4是utf8的超集,也就是说utf8mb4包含所有utf8的字符。

3、MySQL中utf8校对规则

  • utf8_bin,每个字符用二进制数据存储,区分大小写
  • utf8_general_ci,ci表示case insensitive,即大小写不敏感
  • utf8_unicode_ci,utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别,德语、法语或者俄语,需要使用utf8_unicode_ci;utf8_general_ci校对速度快,但准确度稍差(针对俄法德而言)
  • 以上规则针对utf8mb4类似,有utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci,就不赘述。

MySQL中varchar类型默认不区分大小写,如果区分大小写设置字段以utf8_bin或者utf8mb4_bin编码格式即可。

4、设置校对格式

MariaDB [test]> create table utf8test1( name varchar(20)) CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 0 rows affected (0.01 sec)

MariaDB [test]> create table utf8test2( name varchar(20)) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Query OK, 0 rows affected (0.01 sec)

MariaDB [test]> create table utf8test3( name varchar(20)) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 0 rows affected (0.01 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值