在我的数据库中,我存储了一些UTF-8字符。例如。 “名称”字段中的“α”
通过Django ORM,当我读出此内容时,会得到类似
>>> p.name
u'\xce\xb1'
>>> print p.name
α
我希望获得“α”。
经过一番挖掘,我想我是否做了
>>> a = 'α'
>>> a
'\xce\xb1'
因此,当Python尝试显示'\xce\xb1'时,我得到了alpha,但是当它试图显示u'\xce\xb1'时,它是双重编码吗?
为什么我首先得到u'\xce\xb1'?有什么办法可以让我重新获得'\xce\xb1'吗?
谢谢。我的UTF-8和Unicode处理知识确实需要一些帮助...
最佳答案
尝试将unicode签名u
放在字符串之前,例如u'YOUR_ALFA_CHAR'
并修改您的数据库编码,因为Django始终支持UTF-8。