微信登录时用户信息无法写入数据库

问题:

微信登录时,由于用户名中带有特殊字符,无法写入数据库

环境:

linux/nginx/mysql/php

 

做了一个公众号网页开发的项目,拿一个网上开源的商城进行二开,框架是TP5。最近碰到一个问题,微信登录的时候,有的用户会无法登录网页,有的用户又能够正常登录,通过日志定位到了问题,在用户初次登录的时候,MySQL写入用户信息的时候出错了。项目中MySQL数据库的编码是utf8mb4,但创建表的时候又给了utf8的编码,而utf8编码最多三个字节,,EMOJI表情或者某些特殊字符的编码是4个字节,所以造成了无法写入MySQL。

解决办法:ALTER TABLE table_name CHANGE nickName nickName VARCHAR(255) CHARACTER SET utf8mb4;

posted @ 2018-05-20 14:54  天边飞来的鸟  阅读(206)  评论(0编辑  收藏  举报