Mysql存入emoji表情符号

解决MySQL插入emoji表情符号的困扰
当尝试在MySQL中存储emoji时,即使字段设置为utf8mb4仍可能出现问题。检查并确认数据库、表及字段的字符集为utf8mb4是基础,但要注意,很多数据库客户端默认使用utf8连接,可能导致插入失败。在使用框架如ThinkPHP时,确保框架内部的charset配置为utf8mb4,避免在代码中进行大量字符编码转换,简化处理流程。
SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x93\x8A\xF0\x9F...' for column '......'

这货就是emoji表情符号是4个字节的,默认的utf8最多存储3个字节的信息,结果Mysql存入emoji表情符号就报错了。

这货好多年前就曾经遇见过,也处理过,以至于后来的我数据库的默认配置就是utf8mb4字段类型,不过我还是踩到坑里去了,记录一下,长个记忆。
我遇到问题检查了数据库信息和字段字符类型,没错,就是utf8mb4,可是还是有问题,于是开始网上各种baidu google,而网上也有说,所有的答案,清一色都是让调整数据库配置、表的字段类型改为utf8mb4,我的原本就是这样的,重新搞了一遍,没用,可能是我好多年没用thinkphp的缘故吧,忘记了,冲动了,按着网上的操作上手就干;干你酿的,这还得自己的问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值