mysql支持emoji表情符号

阅读更多

utf8编码是1-6个字节的unicode码,emoji表情符号是4个字节,mysql的utf8最多3个字节,所以插不进去。

解决方案:将Mysql的编码从utf8转换成utf8mb4。

 

先使用一下命令查看数据库默认编码:

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

 

将已经建好的表转换成utf8mb4 

   命令:ALTER TABLE `TABLE_NAME` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; (将TABLE_NAME替换成你的表名)

将需要使用emoji的字段设置类型为: 

 

   命令:ALTER TABLE `TABLE_NAME`MODIFY COLUMN `COLUMN_NAME`  text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

数据库连接池设置,以阿里druid为例:

 

jdbcUrl去掉characterEncoding参数

useUnicode=true&allowMultiQueries=true&characterEncoding=UTF-8&autoReconnect=true

 

 

你可能感兴趣的:(mysql支持emoji表情符号)