Mysql存储带有表情、特殊符号报错解决方案

耀鳞光翼 Lv3

样例

中文字符:【内容简介】
带有表情的文本:
?荣获日本推理小说至高荣誉江户川乱步奖!

?荣获周刊文春“推理小说BEST10”第2名。

?入围“这本推理小说了不起”榜单。

?作者高野和明曾获日本推理作家协会奖,作品入围各大榜单。

?日本推理小说家宫部美雪好评盛赞,曾为本书写解说。

?曾改拍成电影,反町隆史、山崎努领衔主演!

?扑朔迷离的案件背后 ,是一次对死刑制度鞭辟入里的探讨。

?是否值得为一场痛快的复仇,陪葬掉自己的人生?

此类数据在mysql的utf8编码下提示无法存储,直接报错,导致程序终止
[Failure instance: Traceback: : (1366, "Incorrect string value: '\\xF0\\x9F\\x90\\xB6' for column 'title' at row 1")

解决方案

由于mysql默认是3个字符存储,无法存储4个字符的表情内容或者中文特殊符号,所以需要更改编码方式

1、 更改代码中数据库连接的字符编码charset为utf8mb4

MYSQL_CHARSET = 'utf8mb4'

2、将数据库字符集编码页改成utf8mb4。

3、检查数据表的字符编码,保持同步。

4、最后确认数据表中的字段,存储这种特殊文字的字段字符编码也是utf8mb4

  • 标题: Mysql存储带有表情、特殊符号报错解决方案
  • 作者: 耀鳞光翼
  • 创建于 : 2021-09-15 09:12:10
  • 更新于 : 2024-11-14 12:04:17
  • 链接: https://blog.lightwing.top/2021/09/15/mysqlemoji/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论