django中的一个数据库错误 django.db.utils.InternalError: 1366

重新安装linux服务器后

运行django,产生了一行数据库错误:

django.db.utils.ProgrammingError: (1146, "Table 'xxxx.django_migrations' doesn't exist")


用下面的命令查看具体的错误:

python manage.py test -v3 sitecoming

出现如下错误:

django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE7\\x94\\xA8\\xE6\\x88\\xB7' for column 'name' at row 1")


网上查找同类问题,应该是mysql数据编码的问题:

在my.cnf中默认编码改为:utf8


以下是来自网络的解决方法:




1. 修改 /etc/my.cnf 配置文件,然后重启mysqld。
在[client]下配置:default-character-set=utf8
在[mysqld]下配置:
default-character-set=utf8
init_connect=’SET NAMES utf8′

注意:新版MySQL(如:5.5)或MariaDB等,mysqld启动时可能会遇到“[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’”的错误;就应该在[mysqld]中用 character_set_server=utf8 替换掉 default_character_set=utf8 。

2.如果还没有解决,那么就得删掉原来建的DB,重新建并制定字符集为utf8,如:CREATE DATABASE jay_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;



你可能感兴趣的:(django)