保证mysql版本至少在5.5.3,只有这个版本以上才出现了utf8mb4字符集
工作中碰到了这个问题,在网上搜了一些资料,问题得到了解决,在此做下笔记。
1.修改可能被插入表情数据的表字段字符集为utf8mb4。
2.修改完字段字符集后,将该表的字符集同样修改为utf8mb4。
3.完成前面两条后修改整个数据库的字符集,修改值同样为utf8mb4。
4.执行sql语句SHOW VARIABLES LIKE '%char%’; 查看当前字符集情况。
Variable_name Value
------------------------ ----------------------------
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
当结果为上图所示的情况时,重启Mysql。启动完毕后生效。
5.如果character_set_server的值不为utf-8/utf8mb4则无法成功实现插入表情入库,则需要在Mysql的my.cnf中修改character_set_server的值。
具体方法为:在[mysqld]下加character_set_server=utf8mb4/utf-8。
6.在Mysql启动的情况下执行sql语句:SET NAMES utf8mb4;。
7.重启Mysql。
8.测试。