Django + sqlite + Unicode

2024-03-14

我在通过管理站点向 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 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django + sqlite + Unicode 的相关文章

随机推荐