我有麻煩了解編碼是如何工作的:解碼Python字符串
爲什麼Python代碼字符串內進行編碼:
s = 'Au\xc3\x9fenformat\n'
print s.encode('utf-8')
>>>Außenformnat
但是,如果我從一個文本文件中讀取這樣的字符串,我得到:
f = open('out.txt', 'r')
data = f.read()
print data.encode('utf-8')
>>>Au\xc3\x9fenformat\n
有什麼建議嗎?
你的意思*解碼*?而你正在閱讀*文本文件*,而不是從這裏的sqlite數據庫。 – 2013-04-22 14:52:33
是解碼(但在第一個例子中它給了我相同的結果!?)。我有文本文件和sqlite數據庫的問題,數據庫的例子更復雜,我認爲這是由於同樣的問題。我可以發佈它,如果它不是... – snowflake 2013-04-22 15:09:11
在你做之前,請確保你已經閱讀[Python Unicode HOWTO](http://docs.python.org/2/howto/unicode.html),然後閱讀[這篇文章](http://joelonsoftware.com/articles/Unicode.html)和[this too too](http://nedbatchelder.com/text/unipain.html)。 'sqlite3'模塊處理Unicode很好,但是請驗證[模塊文檔](http://docs.python.org/2/library/sqlite3.html)以確保您沒有意外地錯誤配置內容。 – 2013-04-22 15:11:03