问题:由于业务需求,需要将别人数据库的数据,迁移数据进入自己的Mysql数据库,同时还有HDFS数据到Mysql数据库中,均发现数据乱码问题,由数据乱码发现,插入的数据出错为表情包,经过查阅资料发现,数据库的表情 字符集为 UTF8mb4,是UTF8的数据集的超集? UTF-8 可以存储正常的数据,但是无法存储表情等数据,尝试过在MySql的Url链接上实现了设置编码集,但是均不支持UTF8mb4编码集,后续进过多次尝试发现,最好的解决办法 将Mysql数据库的配置文件修改为
[client]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[mysql]
no-auto-rehash
default-character-set = utf8mb4
重启服务器,乱码问题完全解决了,再次进行数据库插入的时候,就没有任何问题,由上述经验知,在Mysql第一次安装的时候,配置文件就可以将MySql的数据集指定为utf8mb4,后续就不会发生各种问题