欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信小程序或公众号以及特殊表情,昵称等存入MySQL报错问题

程序员文章站 2022-03-06 12:31:09
...

SQLSTATE[HY000]: General error: 1366 Incorrect string value: ‘\xF0\x9F\x99\x nickname。。。。。

方法一:
去除非3字节的特殊符号
$nickname = preg_replace(‘/[\x{10000}-\x{10FFFF}]/u’, ‘’, $nickname)

方法二:
升级到MySQL5.5+版本,支持utf8mb4编码格式,然后执行下面的变更语句:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
这样可以完整保存用户昵称,但系统升级风险较大,需要多方面测试。

我测试方法二没成功,感兴趣的朋友可以尝试一下