utf8mb4_0900_ai_ci
「utf8mb4_0900_ai_ci」という照合順序は、MySQL 8.0 から標準になった照合順序で、Unicode 9.0 の文字セットをサポートしています。¹
この照合順序は、文字列の比較において、アクセントや大小文字を区別せずに比較することができます。¹
また、日本語のようなマルチバイト文字を含む文字列を扱う場合にも適しています。¹¹: MySQL 8.0 の照合順序で標準になった「utf8mb4_0900_ai_ci」とは - Qiita
ソース: Bing との会話 2023/5/31
- (1) MySQL 8.0 の照合順序で標準になった「utf8mb4_0900_ai_ci …. https://qiita.com/seltzer/items/8b5d8a61591e72715d5b.
- (2) MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.5 …. https://dev.mysql.com/doc/refman/8.0/ja/charset-applications.html.
- (3) MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.4 接続文字 …. https://dev.mysql.com/doc/refman/8.0/ja/charset-connection.html.
半角カナの濁点ありは照合順序の設定では解決できない
utf8mb4_0900_ai_ci での検索:
| where | 結果 |
|---|---|
ベル | ヘル, ベル, ヘル (つまり、 ベル は一致しない) |
ヘル | ヘル, ベル, ヘル (つまり、 ベル は一致しない) |
ヘル | ヘル, ベル, ヘル (つまり、 ベル は一致しない) |
ベル | ベル (のみ) |
django-filter: method フィルターで対応
| |