Django的和MySQL的Unicode错误(Django & MySQL unicode err

2019-07-30 10:27发布

我得到一个Incorrect string value (Exception Value: Incorrect string value: '\xEA\xB0\x95\xED\x95\x98...' for column 'object_repr' at row 1)错误,当设法保存unicode字符串(韩国)在Django和MySQL.First问题我已经是在数据库表中的每一列“不正确的字符串值”的错误。 不过,我想通了这一点,通过改变柱整理和总体数据库字符集。

新的错误,我得到的是有关为Unicode(个体经营)models.py.My models.py方法举例如下:

from django.db import models

# Create your models here.
class User(models.Model):
full_name = models.CharField(max_length=60)
email = models.EmailField(unique=True)
password = models.CharField(max_length=128)
birthday = models.DateField(null=True, blank=True)
gender = models.PositiveIntegerField(null=True, blank=True)
location = models.CharField(max_length=60, null=True, blank=True)
captcha = models.CharField(max_length=60, null=True, blank=True)

register_date = models.DateTimeField()
lastLogin_date = models.DateTimeField(null=True)
num_logins = models.PositiveIntegerField()

def __unicode__(self):
    return self.full_name

当生成该错误__unicode__函数试图输出UTF8字符...

有谁知道如何解决这个问题?

Answer 1:

尝试在第一个文件是这样的添加一行:

#-*- encoding=UTF-8 -*-


Answer 2:

在MySQL控制台执行

ALTER DATABASE django_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE django_admin_log MODIFY object_repr VARCHAR(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;

对我来说,它帮助。



Answer 3:

我通过更改文件解决了这个问题settings.py :请勿使用'ENGINE': 'django.db.backends.mysql'



文章来源: Django & MySQL unicode errors