我在通过管理站点向 sqlite 数据库添加新记录时遇到了 Unicode 字符串问题。
class Translation(BaseModel):
.....
translation = models.CharField(max_length=100)
当我尝试插入像“été”这样的词时发生错误:
**UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)**
更新:添加追溯:http://pastebin.com/yLYFNDGB
最佳答案
我找到了一个解决方案。实际上,问题不在 Django 或 sqlite 中。问题出在 unicode() 方法上。
以前是:
def __unicode__(self):
return "{} ({})".format(self.translation, self.word.lang.abbr)
明显修复后,问题消失了:
def __unicode__(self):
return u"{} ({})".format(self.translation, self.word.lang.abbr)
关于python - Django + sqlite + Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11415551/