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

时间:2024-03-11 14:35:55

报错信息基本是这样的。原因就是 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%\';

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