在我的数据库中,我存储了一些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。

10-08 06:37