utf8只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节
MySQL 的这个bug一直没有被修复,他们在 2010 年发布了一个叫作“utf8mb4”的字符集,绕过了这个问题。
最近在博客以及微博中看到有人发表类似的提醒文章。由于刚接触mysql时在视频教程中老师要求的就是首选/默认都是utf8mb4。
那个老师可能当时就解释了原因,这两年我在使用数据库的时候基本都绕过这个坑,没再遇到过,所以基本忘了这回事。
关于这个bug的具体解释见
https://blog.csdn.net/u012918303/article/details/44492315
https://mp.weixin.qq.com/s/ok6VD1b5fhG_mY9O3d_VGA
注:关于 utf8mb4 字符集,请参考 utf8mb4 字符集(4字节 UTF-8 Unicode 编码)