我的网站需要能够以不同语言提供数据。我设置它所以它使用utf-8并且db设置也被设置为。我在管理员身上得到了不同的unicode错误。
例如:
如果我为模型设置 unicode 方法,例如:
return u'%s' % unicode(self.tag)
这似乎解决了#1和#2,但那时我得到了#3。
我一直在寻找一个解决方案,但无法找到解决所有不同错误的东西。处理这些问题的最佳方法是什么?
答案 0 :(得分:6)
from django.utils.encoding import smart_unicode
...
def __unicode__(self):
return smart_unicode(self.tag)
答案 1 :(得分:0)
值得注意的是,在将数据存储到数据库中之前,只需用十六进制编码数据就可以绕过unicode。
这样的东西就足够了
MyModel(name=name.encode('hex'), password=password).save()
然后,您可以执行name.decode('hex')
将数据恢复为以前的表示形式。