UnicodeDecodeError在Django中添加模型

时间:2018-05-08 22:09:51

标签: python django unicode decode

当尝试在Django 1.9中添加包含unicode的模型时,我收到以下错误:

UnicodeDecodeError at /cleaner/clean/add/
'utf-8' codec can't decode byte 0x96 in position 209: invalid start byte

这发生在模型类中。

class Clean(models.Model):
    name = models.CharField(max_length=100)
    cv = models.TextField(max_length=10000, blank = True, null = True)
    cvfile = models.FileField(validators=[validate_file_extension])

    #override save method
    def save(self, *args, **kwargs):
        get_text = self.cvfile.read()
        self.cv = get_text
        self.cv=self.cv.decode("utf-8")
        super(Clean, self).save(*args, **kwargs)

我认为self.cv.decode("utf-8")会解决这个问题,因为我使用的是python 3.6.4,但事实并非如此。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

知道了。对于将来可能遇到此问题的任何人:

要解决此问题,请更改以下行:self.cv=self.cv.decode("utf-8")

至:get_text = self.cvfile.read().decode("utf-8", 'ignore')