pzyin

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

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

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-09-21
  • 2021-11-17
  • 2022-12-23
  • 2021-12-27
  • 2021-04-10
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2021-10-07
  • 2021-05-20
  • 2022-01-21
  • 2021-12-24
相关资源
相似解决方案