首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在处理mysqldb时支持utf-8

在处理mysqldb时支持utf-8
EN

Stack Overflow用户
提问于 2012-05-25 02:26:30
回答 1查看 73关注 0票数 0

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

execute(query.encode('utf8'))

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

现在,当我再次从sql检索数据到我的python代码时,我需要通过应用encode函数使其再次兼容unicode吗?如果是,那么sql返回行块,我如何编码全部?

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

EN

回答 1

Stack Overflow用户

发布于 2012-05-25 02:41:19

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

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10743207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档