以往mysql里的utf8一个字符最多3字节,只支持bmp这部分的unicode编码区,bmp是从哪到哪,基本就是0000~ffff这一区。而utf8mb4则扩展到一个字符最多能有4字节,所以能支持更多的字符集。
sql code
utf8mb4 is a superset of utf8
utf8mb4兼容utf8,且比utf8能表示更多的字符。
至于什么时候用,看你的做什么项目了
看unicode编码区
从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。