mysql5.6 已经设置成了utf8mb4,存入emoji后是4个问号 ????

mysql5.6 已经设置成了utf8mb4,存入emoji后是4个问号 ????

已确保 程序链接是 utf8mb4

对应的表也设置了utf8mb4 字段也设置了utf8mb4

使用的这个语法设置utf8mb4

语法:ALTER TABLE <表名> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

但是还是不知道什么原因 还是存的4个问号 ????

阅读 5.5k
5 个回答

emoji表情用的是Unicode编码,超过了UTF-8的编码范围

以下为网上摘抄:

emoji表情采用的是 Unicode编码,Emoji就是一种在Unicode位于\u1F601-\u1F64F区段的字符。这个显然超过了目前常用的UTF-8字符集的编码范围\u0000-\uFFFF。

确定数据库设置没问题,可以检查下连接的charset是否正确

检查一下 数据库的字符集是否已经是utf8mb4, 表的字符集是否已经是utf8mb4,字段的字符集是否已经是utf8mb4

utf8mb4_general_ci修改为utf8mb4_unicode_ci

查看你的数据库链接配置。是否声明了字符集是utf8mb4

新手上路,请多包涵

可以先通过 insert 语句 插入一条emoji表情的数据。看看结果。

先确定 是程序插入问题、还是数据库设置问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题