2012-05-24 30 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字符串上的数据进行编码。