【发布时间】:2013-06-08 14:20:58
【问题描述】:
我有一个 (MS SQL) 数据库表,其中一列 keyphrase 的类型为 nvarchar。我已将此表的 SqlAlchemy 模型设置为该列的类型为 String(convert_unicode=True)(我也尝试将其设为 Unicode 类型,但这也无济于事)。
我正在调用一个返回关键字值的 API。我想检查返回的keyphrase 值是否已存在于我的数据库中。我通过调用来做到这一点:
Session.query(Keyword).filter_by(keyphrase=api_keyword_value).first()
这适用于所有英文字符。但是,当我在会话中查询包含欧洲字符(例如 ä、é、ô、ü)的值时,查询调用始终返回 null。我可以手动检查数据库,看看数据库中肯定有一个值,但由于某种原因,我的 SqlAlchemy 查询没有返回它。
我假设,因为它只在搜索包含欧洲字符的条目时发生,这是一个字符编码问题。但是没有抛出异常,所以我不确定这是哪里出了问题或如何解决它!有什么想法吗?
【问题讨论】:
标签: python sql-server unicode sqlalchemy