文章内容
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、1366, "Incorrect string value: '\\xE9\\xBB\\x84\\xE5\\x85\\xB5' for column 'fullname' 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
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - 数据库读取数据❓
评论列表