当我们遇到一些特殊的微信昵称时,数据库保存就会报错。
1.问题描述
项目中的一个问题,微信用户注册的时候,微信用户的名称导致 MySQL 数据库插入异常
Incorrect string value: '\xF0\x9F\x98\x82\xE6\x81...' for column 'nick_name' at row 1;
1
这是一个用特殊字符的用户
用了奇怪的账户名称比如 🌫
2. 问题原因
因为 utf8 一个字符 3 个字节,但是特殊字符要占用 4 个字节,
就是所 utf8 不够用了
建议使用 utf8mb4 字符集
3. 问题解决
建议在特殊字符的字段,比如微信的用户名,修改编码为 utf8mb4

因为这个是代价最小的修改方案,只修改这个字段
文章转载自全栈的程序员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




