当我在mysql中插入查询时, 我做了以下事情:
execute(query.encode('utf8'))
我首先使字符串与unicode兼容,然后执行。
现在,当我再次从sql检索数据到我的python代码时,是否需要通过应用编码功能使其再次兼容unicode? 如果是,则sql返回行块,如何对所有行进行编码?
我使用cursor.fetchall()
获取行。如何使行的每个元素兼容unicode? p>
答案 0 :(得分:0)
第一步:阅读并理解:http://www.joelonsoftware.com/articles/Unicode.html #IMPORTANT
现在您知道程序中的所有文本数据都应该是unicode(而您不是 将utf-8编码字符串的unicode数据误认为,或者再使用“decode”进行“编码”)
您可以指定创建mysql连接时要使用的编码 - 在那里指定:http://mysql-python.sourceforge.net/MySQLdb-1.2.2/< -check用于“ init ”方法中的“charset”参数“连接”模块 - 它可以作为参数传递给MySQLdb.connect
调用
从那时起,从此连接检索的所有文本数据将作为unicode呈现给Python,将存储在数据库中的数据编码为unicode字符串。