问题: 微信的emoji表情存在数据库出错了,数据库的编码集不支持存emoji.
我分为下面三个步骤来解决:第三条是重点
(1):修改mysql数据库的编码为uft8mb4
(2):修改数据表的编码为utf8mb4
(3):修改连接数据库的连接代码
(1):修改mysql数据库的编码为uft8mb4
Navicat 编辑数据库,改为uft8mb4 以及 utf8mb4_general_ci
修改方法:
参看:http://blog.csdn.net/poice00/article/details/52129351
(2):修改数据表的编码为utf8mb4
执行命令:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;
我做法是查询所有的表然后复制出来执行
SELECT
CONCAT( 'alter table ', table_schema, '.', TABLE_NAME, ' convert to character set utf8mb4 collate utf8mb4_general_ci;' )
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema IN ( '数据库1', '数据库2' );
(3):修改连接数据库的连接代码
我原先的数据库连接代码是:
public static final String URL = “jdbc:mysql://localhost:3306/”+DATABASENAME+"?useunicode=true&characterEncoding=utf8";
将其修改成: public static final String URL = “jdbc:mysql://localhost:3306/”+DATABASENAME;
————————————————
版权声明:本文为CSDN博主「苏乞儿丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/java1703/article/details/102699859