当尝试在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,但事实并非如此。
有没有办法解决这个问题?
答案 0 :(得分:0)
知道了。对于将来可能遇到此问题的任何人:
要解决此问题,请更改以下行:self.cv=self.cv.decode("utf-8")
至:get_text = self.cvfile.read().decode("utf-8", 'ignore')