【发布时间】:2018-06-14 05:54:20
【问题描述】:
我正在使用带有UTF-16 编码的Oracle 数据库。直接使用 cx_oracle 客户端时正确显示变音符号。连接语句是这样的:
cx_Oracle.connect(username, password, conn_str, encoding='UTF-16', nencoding='UTF-16')
但是,现在我正在构建更大的应用程序,我想在 Flask 中使用 SQLalchemy。
代码如下:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(app)
db.Model.metadata.reflect(db.engine)
class MyTable(db.Model):
__table__ = db.Model.metadata.tables['mytable']
for row in MyTable.query:
print(row.column_with_diacritics)
上面代码的输出:aoe
但是数据库中的列值为:áóé
所以我的问题是,如何将参数 encoding='UTF-16', nencoding='UTF-16' 传递给 sqlalchemy 在底层使用的 cx_oracle?
感谢您提供任何建议或其他解决方法。
【问题讨论】:
标签: python-3.x encoding sqlalchemy flask-sqlalchemy cx-oracle