PHP mysql 宽字节保存 支持Emoji表情

项目中评论或者文章中写入表情符号时,php报错,或者出来时一些????。这是为什么呢?


下面说一下mysql中的字符集:


mysql数据库表用的utf-8字符集也就是3字节,但Emoji表情是4字节,导致无法insert.


怎么让mysql支持Emoij表情呢?


我们可以设置mysql的对应的表字符集为```UTF8mb4```,排序规则改为```utf8mb4_unicode_ci```,记得修改之后重启mysql。


好了问题来了,我们修改完字符集后,进行测试。我想应该不会有问题,insert能写入了,

但是出来的数据是```????```,why?

还有 𝓑𝓮𝓽𝓽𝔂 出来也是很多的 ???

项目开的时候数据库链接字符集默认是```utf8```,好了找到问题了,然后修改字符集为```utf8mb4```,O(∩_∩)O,

mysqli_set_charset($this->conn,"utf8mb4"); 这里一定要设置,更改

在进行测试,ok,完美解决了。


相关阅读

添加新评论