一、系统要求,聊天系统聊天中使用 emoji 表情包,直接按字符串存到数据库中会报错。主要是编码问题,mysql的utf8最多三个字节,一个 emoji 表情点4个字节,所以出错,新版的mysql有新的编码格式就是utf8mb4,mysql5.5以后的版本都支持。
二、解决方案:
修改数据库表 t_message(我的聊天记录消息表)的字符集为 utf8mb4即可。
例如 mysql -uroot -p
然后输入数据库密码按回车,进入
mysql>
输入下面的命令按回车即可
alter table t_message convert to character set utf8mb4 collate utf8mb4_general_ci;