Mysql中的utf8

Posted by CaiJiahe on April 18, 2018

0x01 utf8

utf8最多可以存储6字节数据,然而在Mysql中却不是这样。

0x02 utf8mb3

在Mysql中,utf是utfmb3的别名,意思是最大可以存储3个字节,对照utf8的算法,3个字节可以存储16bit的数据,也就是可以表示65536个字符,这也是unicode的BMP字符。

0x03 utfmb4

在实际的应用中,我们经常存储一些不在BMP中的字符(生僻汉字、表情符号等),所以使用utf8mb3会有问题,所以我们需要utf8mb4(utf8 most byte 4)。

0x04 传送门