1

keyphrase列の 1 つがタイプ である (MS SQL) db テーブルがありますnvarchar。このテーブルの SqlAlchemy モデルを、この列の型を持つように設定しましたString(convert_unicode=True)(Unicode 型にもしようとしましたが、これも役に立ちませんでした)。

キーワード値を返す API を呼び出しています。keyphrase戻り値が既にデータベースに存在するかどうかを確認したい。これを行うには、次のように呼び出します。

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

これは、すべての英語の文字で機能します。ただし、ä、é、ô、ü などのヨーロッパ文字を含む値についてセッションをクエリすると、クエリ呼び出しは常に null を返します。データベースを手動で確認すると、データベースに値が確実にあることがわかりますが、何らかの理由で SqlAlchemy クエリから値が返されません。

ヨーロッパ文字を含むエントリを検索する場合にのみ発生するため、これは文字エンコーディングの問題であると想定しています。ただし、例外はスローされないため、どこで問題が発生しているのか、または修正する方法が正確にはわかりません! 何か案は?

4

1 に答える 1