mysql --utf8与utf8mb4(解决移动端输入emoji报错问题)

今天设置数据库的字符集编码格式时发现有个utf8,同时还有utf8mb4,这个utf8mb4是个什么东西呢? 原来,mysql在5.5.3版本以后增长了utf8mb4编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实utf8mb4是utf8的超集,若是原来的数据库字符编码格式是utf8,如今改为utf8mb4,也不会出现什么问题,只是为了节省空间,通常采用utf8就够了。 可是为何要出现utf8mb4呢? 最近在开发的过程当中,遇到一个问题,评论时输入表情(emoji)存入到数据库报错的问题,由于emoji是一种特殊的unicode编码,它是采用四字节编码的,二数据库设置成utf8,最大长度为三字节,因此插入表情到数据库时,数据库会报错。mysql

相关文章
相关标签/搜索