我正在尝试在其中一个字段中保存带有一些unicode文本的新记录。
使用django管理页面时保存unicode文本成功,但使用django shell时失败:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 15: ordinal not in range(128)
任何想法有什么问题以及如何解决? 谢谢!
答案 0 :(得分:2)
这些方便的django内置转换功能通常对我有用。我用它们来生成带有特殊字符的pdf文件。
用于在模型中保存非ascii文本:
from django.utils.encoding import smart_unicode
mymodel.my_field = smart_unicode(myform.cleaned_data["my_non_ascii_text"])
mymodel.save()
答案 1 :(得分:1)
尝试将u
放在您正在使用的字符串之前。
print "ЙЦУКЕН"; #error!
print u"ЙЦУКЕН"; #success!