在我的數據庫中,我存儲了一些UTF-8字符。例如。在「名稱」「α」字段Python UTF-8轉換問題
通過Django的ORM,當我讀了這一點,我得到的東西像
>>> p.name
u'\xce\xb1'
>>> print p.name
α
我所期待的「α」。
一些挖後,我想,如果我這樣做
>>> a = 'α'
>>> a
'\xce\xb1'
所以當Python是試圖顯示「\ XCE \ XB1」我得到的α,但是當它試圖顯示U「\ XCE \ XB1」 ,它是雙重編碼?
爲什麼我首先得到u'\ xce \ xb1'?有沒有辦法讓我回到'\ xce \ xb1'?
謝謝。我的UTF-8和unicode處理知識確實需要一些幫助...
你真的把UTF-8存儲到數據庫嗎?這不太好...... – 2011-05-18 20:39:47
你會得到一個包含字節串的Unicode字符。什麼地方是錯誤的 - 你編碼它,然後存儲在一個Unicode字段?如果你需要返回值,'p.name..encode(「iso-8859-1」)。decode(「utf-8」)'應該這樣做,但它並不能真正解決問題。 – 2011-05-18 20:57:48
@ IgnacioVazquez-Abrams嗨,如果您有時間回答,當您需要將UTF-8編碼的unicode符號存儲到數據庫時,您還有什麼其他選擇? – 2016-11-25 12:33:31