0

当我在 mysql 中插入查询时,我执行以下操作:

execute(query.encode('utf8'))

我首先使字符串与 unicode 兼容,然后执行。

现在,当我再次将数据从 sql 检索到我的 python 代码时,我是否需要通过应用编码函数使其再次兼容 unicode?如果是,则 sql 返回行块,如何对所有行进行编码?

我使用cursor.fetchall(). 如何使行的每个元素都与 unicode 兼容?

4

1 回答 1

0

第一步:阅读并理解这一点:http://www.joelonsoftware.com/articles/Unicode.html #IMPORTANT

现在您知道程序中的所有文本数据都应该是 unicode(并且您不会再将 unicode 数据误认为是 utf-8 编码的字符串,或者不再将“encode”与“decode”混淆)

您可以在创建 mysql 连接时指定要使用的编码 - 在此处指定:http: //mysql-python.sourceforge.net/MySQLdb-1.2.2/ <-检查“ init ”中的“charset”参数“连接”模块的方法 - 它可以作为参数传递给MySQLdb.connect调用

从那里开始,从此连接中检索到的所有文本数据都将以 unicode 的形式呈现给 Python,将存储在数据库中的数据编码为 un​​icode 字符串。

于 2012-05-24T18:41:18.593 回答