mysql存储表情

让mysql支持emoji表情符号存储


mysql的文本(varchar, text),对emoji表情符号不是很好的支持,在5.5之前的版本,varchar和text都是不支持存储emoji表情符号的
(即使是utf8)的编码模式。原因在于mysql的utf8是规定了每一个utf8字符按照3个字节来存储,而一个emoji(最初来自苹果系统,现在流
行于各种移动操作系统)却需要4个字节来存储。

这就导致了如果强制将emoji存储到varchar,text等字段上的时候,mysql会抛出异常,认为emoji是个“不正确”的文本。
所幸,mysql在5.5之后的版本,针对四个字节的utf8字符推出了一种新的兼容的编码,叫 utf8mb4。utf8mb4比utf8支持的字符集更广,
可以支持utf8以及四个字节的字符集
—————————————————————————
mysql版本升级到5.6
mysql字段设置为utf8mb4
php链接mysql的DB_CHARSET设置为utf8mb4

执行三个即可实现存储表情

Leave a Reply

Your email address will not be published.