データベース設定コードは次のとおりです。utf8mb4_unicode_ci。
ビジネスでは、データベースには実際の入力文字列データをスペースと比較するためにスペース付きの文字が格納されており、表面上は同じ外観になりますが、プログラムの比較後にFalseが返されます。
例:
データベース視覚化クエリの結果は次のとおりです。
プログラムクエリの結果:
>>> data
[('Free\xa0Pray')]
これは明らかに正常に一致させることができず、unicodedataライブラリで問題を解決できます。
解決:
new_str = unicodedata.normalize("NFKD", unicode_str)
>>> input_name
'Free Pray'
>>> db_name
'Free\xa0Pray'
>>> input_name == db_name
False
>>> import unicodedata
>>> new_name = unicodedata.normalize("NFKD", db_name)
>>> new_name
'Free Pray'
>>> new_name == input_name
True
詳細については、公式ドキュメントを参照してください:https://docs.python.org/2/library/unicodedata.html#unicodedata.normalize
記事が役に立ったと思われる場合は、いいね、ブックマーク、フォローしてください。