写在前面 环境:MySQL5.7+,MySQL数据库字符编码实现为utf8,表也为utf8 场景:微信授权获取用户信息(包括昵称)并保存到数据库,有的用户成功了,少数用户却失败了 那么为什么会失败呢? 贴上报错日志 Incorrect string value: '\xF0\x9F\x98\x98\xF0\x9F...' for column 'nickname' at row 1 是因为失败的用户微信昵称中带有emoji符号导致的 剖析: MySQL支持多种字符编码集,如UTF-8.GB231…