MySQL数据库错误

OperationalError 1366


Django连接数据库时发生这样的错误,此异常是 MySQL问题,而非 Python的问题,因类 MySQL的字段类型是utf-xxx,而在 MySQL中这些utf-8数据类型只能存储最多三个字节的字符,而存不了包含四个字节的字符。类似这样的错误,应该是数据库表的 charsetcollation问题。尝试把所有表的 charset改为utf-8, collation改为utf8-unicode-ci
如果还是不能解决,最好是重建数据库,然后设置数据库的属性,选择 charsetutf-8, collationutf8-unicode-ci
或者在MySQL命令行模式下,执行如下命令:

1
create database cc default charset utf8 collate utf8_unicode_ci;