您的位置:首页 > 数据库

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

2016-06-28 12:35 931 查看
重新安装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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql django