欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP Mysql字符集utf8mb4支持Emoji表情

程序员文章站 2022-03-09 14:25:07
项目开发中经常会遇到用户在评论或者发表文章的时候会打一些表情在里面,如果我们在开发中不去做一些处理的话,表情会出不来的,甚至是报错,下面简单介绍处理方式. 项目中评论或者文章中写入表情符号时,php报错,或者出来时一些????。这是为什么呢? 下面说一下mysql中的字符集: mysql数据库... ......

项目开发中经常会遇到用户在评论或者发表文章的时候会打一些表情在里面,如果我们在开发中不去做一些处理的话,表情会出不来的,甚至是报错,下面简单介绍处理方式.
原文地址:
小时刻个人博客: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,完美解决了。