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