各位观众老爷们,大家好!我是今天的主讲人,咱今天就来唠唠MySQL里头的 utf8mb4,还有那些个让人又爱又恨的 Emoji。 咱们先来热热身,想想当年,MySQL 对 Unicode 的支持,那可真是…一言难尽。 一、MySQL与Unicode的“爱恨情仇” 话说早些年,MySQL 还是个小年轻的时候,对 Unicode 的支持那叫一个“半吊子”。它有个叫 utf8 的编码,你以为它支持所有 Unicode 字符?Too young, too simple! utf8 实际上只支持 BMP (Basic Multilingual Plane) 里的字符,也就是 Unicode 里的前 65535 个字符。 这就导致一些比较“潮”的字符,比如 Emoji、一些生僻字等等,utf8 就歇菜了。 你想想,你用 utf8 建个表,想往里存个 Emoji,结果要么报错,要么存进去的是一堆乱码,是不是想砸电脑? 所以,MySQL 就得想办法解决这个问题,于是乎,utf8mb4 就应运而生了。 二、utf8mb4:真·Unicode 大哥 utf8mb4 才是真正的 Unicode 完全体!它支 …