2012-05-24 31 views
0

打交道時,當我在mysql中插入一個查詢, 我執行以下操作:支持UTF-8與MySQLdb的

execute(query.encode('utf8'))

我第一次做字符串兼容Unicode,然後執行。

現在,當我再次從SQL檢索數據,以我的Python代碼,做我需要使它兼容Unicode再次通過應用編碼功能? 如果是,那麼sql會返回行塊,我如何編碼所有?

我得到使用cursor.fetchall()行。我如何使unicode兼容的行的每個元素?

回答

0

步驟一:閱讀和理解:http://www.joelonsoftware.com/articles/Unicode.html #IMPORTANT

現在,你知道,在你的程序中的所有文本數據應該是Unicode(你是不是弄錯 Unicode數據爲UTF-8編碼的字符串,或「編碼」和「解碼」了)

您可以指定創建MySQL連接時使用的編碼 - 有指定:http://mysql-python.sourceforge.net/MySQLdb-1.2.2/ < -check中的「INIT」方法「字符集」參數「連接」模塊 - 它可以作爲參數傳遞給MySQLdb.connect呼叫

從那裏,從該連接檢索到的所有文本數據將被呈現給Python作爲unicode的,存儲在數據庫中作爲Unicode字符串上的數據進行編碼。