为什么SQLAlchemy create_engine与charset = utf8返回python类型
使用Python 2.7和SQLAlchemy 0.7,我使用以下命令连接到MySQL DB:
根据SQLAlchemy文档,设置charset = utf8会自动隐含use_unicode = 1,因此所有字符串都应该以unicode形式返回. http://docs.sqlalchemy.org/en/rel_0_7/dialects/mysql.html具体给出了例子
那么,为什么当我在映射类中查询文本字段时,该字段最终是否为“str”类型?
输出是
如果我只是接受这个并在使用之前对字符串进行解码,那么事情就好了.但我不明白为什么上面的代码没有返回类型’unicode’.有人可以请解释一下吗? 最佳答案 当我发现我成功运行多次的不同脚本不再有效时,终于找到了答案. 我已将数据库中的排序规则从utf8_general_ci更改为utf8_bin. MySQLdb 1.2.3中存在一个错误,导致utf8_bin字符串无法被识别为文本,因此不会发生unicode转换.这已在MySQLdb 1.2.4中修复. https://sourceforge.net/p/mysql-python/bugs/289/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |