做微信公众号或者小程序开发时,经常会有需要存储用户昵称的地方,但是微信对昵称兼容比较多,像表情符号特殊符号什么的都能存进去,这样的话,如果数据库字符集设置成utf8就好报如下错误:
Incorrect string value: '\xF0\x9F\x99\x8F' for column
这时候只需要把数据库字符集调整成utf8mb4,然后php的话,在操作数据库的时候,加上以下代码:
Db::query('SET NAMES utf8mb4');
这样就可以解决啦。
取数据的时候也加上以上代码,就可以把原来的表情等符号原封不动的再输出出来哦。