在编辑会员资料的时候,突然报错:
- SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F\x90\xA3\xF0\x9F...' for column 'uname' at row 1
我还是第一次遇到这样的报错,通过报错的表述是字符编码的问题,可是都是一个数据库怎么会出现编码的问题。于是,开始查找原因。终于,经过不懈努力找到了错误的所在。因为,我们的会员是可以通过第三方登录注册的,QQ。微信什么的,所以难免有各种各样的特别奇葩的符号出现。正常的utf8
是保存不了的。
解决的方法:
将字段的字符编码修改为:utf8mb4
即可。
话说utf8mb4
可以存储更多的字符,想了解更多的utf8mb4
字符集的知识,请自行百度。下面来看看,几个奇葩的符号,你也可以试试,能不能报错到你的数据库中。