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