mysql 插入Emoji表情报错

时间:2023-03-09 00:13:02
mysql 插入Emoji表情报错

今天做的了个获取微信粉丝的功能,发现将昵称插入数据库报错.长度肯定是够的

Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F

找了点资料发现UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。

网上解决方式都是

改动mysql配置

1.在mysql的安装文件夹下找到my.ini,作例如以下改动:

[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

2 重新启动

net stop mysql

net start mysql

3 改动表

ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

我仅仅做了第三步就解决我的问题了,现将其记录下来