druid mysql utf8mb4_Mysql中 utf8 和 utf8mb4 区别

实际开发遇到的问题:

往Mysql数据表中存储一些繁体字,emoji表情😲😳图时提示插入失败。

解决方法:

更改数据库编码、系统编码以及表字段的编码格式,把utf8 改成utf8mb4

原因分析:

MySQL 的 utf8 实际上不是真正的 UTF-8。

在MySQL中,utf8 编码只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。

所以,在mysql数据库中,用utf8编码存储数据,大多数情况没有问题,因为中文是占3个字节,其他数字、英文、符号各占一个字节。

但是emoji符号占4个字节,一些较复杂的文字、繁体字也是4个字节。

因此,4字节的内容往utf8编码中插入,肯定是不行的,最终会导致写入失败,应该改成utf8mb4。

原文链接:

https://mp.weixin.qq.com/s?__biz=Mzg2MjEwMjI1Mg==&mid=2247498844&idx=2&sn=0847b6f7d97de43503bf654790d7cd8a&chksm=ce0e4bdff979c2c96e27b60576d6b93cf105263677ae3c3086e568a17c3a8f80a268f630ade7&mpshare=1&scene=1&srcid=0814XACTjn3F9qnB8osmh3mI&sharer_sharetime=1597373840656&sharer_shareid=f0989b28ebe93dacefcd51cd33e1773c&key=83512e9d09452b03b57ccf2d7e6efff2d97b4ef0aba6258d7f1b5e02ad5c7194eab9db01567f5a76724698b532cc2d6d4ebbcef7672dff0ec5ae22d9d6026c29bd9524647fe4b07aed776ce25f8f1eef72ec8f1a85ded3a27b7fde1dfde37cfc42238705600a2759bd11bf67052eacaa71ed112dfc286c3043afb6f5f7166411&ascene=1&uin=MzI3MDU5Mjcx&devicetype=Windows+10+x64&version=62090538&lang=en&exportkey=AfGqgdoVDd6oNOE%2Fs1MDUhA%3D&pass_ticket=bzdUOO7cmqE2QbYLhzeySDjCBZrlfZ%2Fipn7UCBnDld5vfuWtp1sa8Vc1G3g4k8Ng

声明:此博客为个人学习之用,如与其他作品雷同,纯属巧合,转载请指明出处!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值