PHP Mysql字符集utf8mb4支持Emoji表情
2018-12-27 本文已影响0人
青丝南开
项目开发中经常会遇到用户在评论或者发表文章的时候会打一些表情在里面,如果我们在开发中不去做一些处理的话,表情会出不来的,甚至是报错,下面简单介绍处理方式.
原文地址:
小时刻个人博客:http://small.aiweimeng.top/index.php/archives/Emoji.html
项目中评论或者文章中写入表情符号时,php报错,或者出来时一些????。这是为什么呢?
下面说一下mysql中的字符集:
mysql数据库表用的utf-8字符集也就是3字节,但emoji表情是4字节,导致无法insert.
怎么让mysql支持Emoij表情呢?
我们可以设置mysql的对应的表字符集为utf8mb4
,排序规则改为utf8mb4_unicode_ci
,记得修改之后重启mysql。
好了问题来了,我们修改完字符集后,进行测试。我想应该不会有问题,insert能写入了,
但是出来的数据是????
,why?
项目开的时候数据库链接字符集默认是utf8
,好了找到问题了,然后修改字符集为utf8mb4
,O(∩_∩)O,
在进行测试,ok,完美解决了。