mysql数据库插入emotion表情
原因:mysql所设置的utf8编码最多支持3个字节。字符集Emoji表情是4个字节即utf8mb4,所以不支持,导致入库失败。
解决方案包括以下三步:
1、修改配置文件 my.ini 或者 default.ini
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
注意:mysql支持utf8mb4的版本是5.5.3及以上,必须升级到对应版本
查看版本:SHOW VARIABLES WHERE Variable_name LIKE ‘version%’;
2、以管理员身份登录 Mysql ,修改环境变量,将character_set_client, character_set_connection,character_set_database ,character_set_results ,character_set_server 都修改成 utf8mb4 编码。
3、修改数据库、表、对应字段的字符编码
ALTER DATABASE t_your_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE t_your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE t_your_table modify ‘NICKNAME’ varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT ‘字段名’;
修改完成后,重启mysql:
service mysqld stop
service mysqld start
检验是否生效:
SHOW VARIABLES WHERE Variable_name LIKE ‘character_set_%’ OR Variable_name LIKE ‘collation%’