Mysql存入emoji表情符号

当尝试在MySQL中存储emoji时,即使字段设置为utf8mb4仍可能出现问题。检查并确认数据库、表及字段的字符集为utf8mb4是基础,但要注意,很多数据库客户端默认使用utf8连接,可能导致插入失败。在使用框架如ThinkPHP时,确保框架内部的charset配置为utf8mb4,避免在代码中进行大量字符编码转换,简化处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,而网上也有说,所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值