django.db.utils.OperationalError: (1366

错误场景

当我使用pycharm写测试程序运行的时候, 会自动创建一个test_数据库, 但是每次创建的时候都会报错

报错信息

MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value: '\\xE7\\x94\\xA8\\xE6\\x88\\xB7' for column 'name' at row 1")

出现这个的原因是因为数据库编码的问题

解决问题

1. 修改数据库编码

1.1 Linux系统
vim /etc/my.cnf
  • 添加如下信息
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
1.2 Windows系统

修改MySQL路径下的my.ini文件

  • 同样添加如下信息
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

2. 重启数据库

sudo service mysqld restart
# 或者
sudo systemctl restart mysqld
  • windows 可以在"服务"中重启mysql

3. 修改查看数据库编码

mysql> show variables like 'character%';

django.db.utils.OperationalError: (1366_第1张图片

你可能感兴趣的:(Linux,解决毛病)