微信昵称存储mysql失败解决办法


报错信息基本是这样的。原因就是 username字段需要用mysql中的 utf8mb4 编码,这个需要mysql 5.3之后才支持,如果不是5.3以上版本 需要升级。

 

1. 修改数据库/表/字段的编码格式

 

ALTER DATABASE xxx CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE xxx CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE users change username username varchar(50) character set utf8mb4   collate utf8mb4_unicode_ci;

2. 修改配置文件

my.cnf一般在/etc/mysql/my.cnf 或 /etc/my.cnf 位置。找到后请在以下三部分里添加如下内容:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

 

3. 重启mysql,每种安装方式的重启方式不同(可自行谷歌:mysql重启)

4. 校验字符集

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

如上图所示则此问题解决。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM