这篇文章主要介绍“mysql emoji乱码如何解决”,在日常操作中,相信很多人在mysql emoji乱码如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql emoji乱码如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
mysql emoji乱码的解决办法:1、通过“show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4”命令查看mysql表编码;2、通过“set names utf8mb4;”设置读取编码为“utf8mb4”即可。
背景
需要从mysql导出一批带emoji表情的数据,直接通过mysql -f < sql.sql > result.csv方式,结果发现emoji表情乱码,开始解决!
思路
先思考乱码的几种可能性,并一一排查。
-
存储有问题
-
读取有问题
-
编码导致展示有问题
解决
查看mysql表编码
show create table test
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
发现编码没有问题,编码为utf8mb4,而且查看数据发现只是部分emoji有问题,可以判断存储没问题。
utf8mb4为utf8的超集
再次看读取部分,设置一下读取编码为utf8mb4
set names utf8mb4;
再次select查询,没有了编码问题,问题解决。