mysql 保存微信昵称时出现的问题--SQLSTATE[HY000]: General error: 1366 Incorrect string value 解决方案

项目上线后遇到个别用户因微信昵称包含图片导致登录失败,错误信息为SQLSTATE[HY000]:Generalerror:1366Incorrectstringvalue。解决方案是将数据库相应表及项目编码改为utf8mb4,确保一致。若问题依然存在,可能需要单独修改涉及的列的字符集,使用ALTER TABLE命令更新列定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

今天项目上线,一直由用户反馈登录不上的问题,查了日志后,发现是个别用户微信昵称中包含图片导致的sql报错:SQLSTATE[HY000]: General error: 1366 Incorrect string value。

解决方案

修改数据库编码:设置数据库相应表的编码为utf8mb4,最好把项目中的也修改为utf8mb4,保持一致

如果还不行,有可能是这个字段所在的列字符集没有被修改掉,再针对列修改一下就可以了。

ALTER TABLE table_name CHANGE nickname nickname VARCHAR(255) CHARACTER SET utf8mb4;

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

对这是我的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值