python - Django + sqlite + Unicode

标签 python django unicode

我在通过管理站点向 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/

相关文章:

javascript - Python - 如何抓取多个动态更新的表单/网页?

python - Pandas 蟒 : how to get values on data frame every 10 steps?

python - Matplotlib savefig 图像修剪

python - 是否可以在 Django 模型中存储数组?

django - QuillJS 不适用于文本区域

python - tensorflow.merge_all_summaries() 挂起

python - 如何在 django 中更新现有记录而不是创建新记录?

c++ - Unicode 中的 boost::property_tree write_json

sql-server - 未排序的 Unicode (UTF-16) 数据如何存储在 varchar 列中?

javascript - 使用 angular-js 呈现 unicode-utf-8 土耳其语字符