Django Admin 录入中文错误解决办法
在Django自带后台中经常会出现编码错误:Incorrect string value: '\xE7\xAE\x80\xE5\x8D\x95...' for column 'message' at row 1 。 需要修改admin表的中的编码,才能保证数据正确显示、插入、修改、删除。
在自己的数据库中插入下面句子改变表中某一列的数据类型:
1
ALTER
TABLE
auth_message
MODIFY
COLUMN
message
VARCHAR
(255)
CHARACTER
SET
utf8
COLLATE
utf8_unicode_ci
NOT
NULL
;
如果还有错误,可根据提示信息修改相应表中相应列的编码类型(之前应该是修改过了整个DB的数据类型的,但是为什么还是出错呢,不知道原因,一起实习的同学都出现这些问题,用相同的方法都得到了解决,证明这是一个普遍都会存在的问题)。
例如,如果报错....for column 'object_repr' at row 1.就找到此列所在表为django_admin_log,然后插入:
1
ALTER
TABLE
django_admin_log
MODIFY
COLUMN
object_repr
VARCHAR
(255)
CHARACTER
SET
utf8
COLLATE
utf8_unicode_ci
NOT
NULL
;