如题
记录
发送emoji数据无法正常显示的问题
问题描述
前端发送关于emoji的表情数据给php,php写入mysql
- php接收到了数据,但无法写入
- 写入过后返回前端无法正常显示
PHP
- 在对应的pdd函数中设置字符集为utf8mb4
Mysql
emoji数据写入数据库所需条件
- 数据库版本大于5.1.xxx,本人用的是msyql8
- 将数据库需要emoji的数据库表字符集设置为utf8mb4(可能需要重启数据库,本人使用时没重启也能生效)
- 把需要用到的表中的字段的字符集设置为utf8mb4
以上设置完毕后即可使用emoji数据进行读写了
注意事项
Server sent charset unknown to the client. Please, report to the developers
问题复现:换了电脑,msyql这些软件重新安装了,导致一些配置文件没有设置
解决:我的mysql是8.0.37版本,按照流程进行安装的时候,过程中会创建两个文件夹,一个是msyql ,一个是mysql server
tips:注意,在安装完毕后初始化msyql时,需要把mysqlserver里的my.ini文件复制到mysql文件夹中,否则你在里面修改的任何配置信息在net start msyql
时都不会生效
在my.ini文件中搜索下图中的字段,修改为ut8
保存然后重启mysql即可