文章内容

2023/6/19 3:05:26,作 者: 黄兵

数据库读取数据❓

MySQL 保存 Emoji 数据的时候,出现了错误,按照这篇文章解决了问题:MySQL emoji 表情

但是保存之后,显示的却是问号,截图如下:


出现这个问题的原因是:

是因为 MySQL 的 utf8 字符集存储不了 emoji 表情。我们平常说的 utf8 确实是这样的,但是 MySQL 中的 utf8 其实是阉割版的 utf8,它最多只用 3 个字节存储字符,所以存储不了表情,这个 utf8 其实是 utf8mb3 的别名。

如果我们要支持表情的存储,我们需要完整的 utf8 字符集,最多可以用 4 个字节来存储字符,这个字符集名字叫 utf8mb4。

解决方案:

存储 Emoji 表情没有问题,显示的时候存在问题,需要我们修改 MySQL 连接字符串,在连接字符串的最后面加上:

?charset=utf8mb4

增加完成之后,需要重启应用程序,就可以解决这个问题了。


参考资料:

1、MySQL emoji 表情


其它相关推荐:

1、1366, "Incorrect string value: '\\xE9\\xBB\\x84\\xE5\\x85\\xB5' for column 'fullname' at row 1"

2、(1366, "Incorrect string value: '\\xE5\\xBB\\xBA\\xE7\\xAD\\x91...' for column 'classification_name' at row 1")

3、解决mysql插入数据时出现Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的异常

4、MySQL - 如何修复 Incorrect string value 错误

5、Lock wait timeout exceeded; try restarting transaction


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - 数据库读取数据❓

分享到:

发表评论

评论列表