SQLObject 和 Python 3¶
内容
Python 2 和 Python 3 之间的变更¶
由于 Python 3.0 中引入的字符串/字节处理方式的变更,SQLObject 在 Python 3 中的行为发生了一些变更。
UnicodeCol¶
在 Python 3 代码中,UnicodeCol 的 dbEncoding 参数不起作用。现在由底层数据库层处理,不再通过 SQLObject 暴露。对于编写与 Python 2 兼容的代码的人员,该参数仍然可用。
Python 3 和 MySQL¶
SQLObject 在 Python 3 上使用 mysqlclient 作为数据库驱动程序进行测试。请注意,MySQL 数据库的默认编码为latin1,这可能会导致通用 Unicode 字符串出现问题。我们建议在使用 MySQL 时将字符集指定为utf8,以避免出现这些问题。
在 Python 3 中使用 SQLObject 和 Python 2 创建的数据库¶
对于大多数情况,一切应该像以前一样正常工作。唯一的问题应该是 UnicodeCol,因为处理方式已发生变化。