gpt4 book ai didi

Python SqlAlchemy 查询 Unicode 值在 'filter_by' 中的 session 返回 null

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:55 29 4
gpt4 key购买 nike

我有一个 (MS SQL) 数据库表,其中一列 keyphrase 的类型为 nvarchar。我已将此表的 SqlAlchemy 模型设置为该列的类型 String(convert_unicode=True) (我也尝试将其设置为 Unicode 类型,但这也没有帮助)。

我正在调用一个返回关键字值的 API。我想检查我的数据库中是否已存在返回的keyphrase值。我通过调用来做到这一点:

Session.query(Keyword).filter_by(keyphrase=api_keyword_value).first()

这适用于所有英文字符。但是,当我在 session 中查询包含欧洲字符(例如 ä、é、ô、ü)的值时,查询调用始终返回 null。我可以手动检查数据库,发现数据库中肯定有一个值,但由于某种原因,我的 SqlAlchemy 查询没有返回它。

我假设,因为它仅在搜索包含欧洲字符的条目时发生,所以这是一个字符编码问题。然而,没有抛出异常,所以我不确定到底哪里出了问题或如何修复它!有什么想法吗?

最佳答案

似乎我的字符串有时被检测为 unicode,有时则不然?真的不知道这个位是如何工作的......我做了一个小函数来检查我总是插入/搜索 unicode 值并且它工作得很好。

def make_me_unicode(s):
if isinstance(s, str):
return s.decode('utf-8')
elif isinstance(s, unicode):
return s
else:
return None

关于Python SqlAlchemy 查询 Unicode 值在 'filter_by' 中的 session 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066049/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com