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

Posted 天边飞来的鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信登录时用户信息无法写入数据库相关的知识,希望对你有一定的参考价值。

问题:

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

环境:

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;

以上是关于微信登录时用户信息无法写入数据库的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer2008用新建的别名登陆不了怎么解决呢?

小程序没有后端可以微信授权登录么

小程序-用户授权/授权后的信息读取流程

SpringBoot通过拦截器获取登录信息

微信小程序怎么记录登录用户操作信息?

微信企业号 获取用户信息