当我在 mysql 中插入查询时,我执行以下操作:
execute(query.encode('utf8'))
我首先使字符串与 unicode 兼容,然后执行。
现在,当我再次将数据从 sql 检索到我的 python 代码时,我是否需要通过应用编码函数使其再次兼容 unicode?如果是,则 sql 返回行块,如何对所有行进行编码?
我使用cursor.fetchall()
. 如何使行的每个元素都与 unicode 兼容?
当我在 mysql 中插入查询时,我执行以下操作:
execute(query.encode('utf8'))
我首先使字符串与 unicode 兼容,然后执行。
现在,当我再次将数据从 sql 检索到我的 python 代码时,我是否需要通过应用编码函数使其再次兼容 unicode?如果是,则 sql 返回行块,如何对所有行进行编码?
我使用cursor.fetchall()
. 如何使行的每个元素都与 unicode 兼容?
第一步:阅读并理解这一点: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,将存储在数据库中的数据编码为 unicode 字符串。