2019年5月12日サイトを作っているときに「照合順序をutf8_unicode_ciにしてキーワード検索で、ひらがなでもカタカナでも検索にヒットするようにして」と言われたことがあり、「照合順序ってなんだっけ?」となったのでメモ。照合順序の特徴MySQLには「文字コード」と「ソート」の設定があり、ソートの部分を照合順序(Collation:コレイション)と言います。照合順序は、大文字と小文字を区別するかどうかなどソートのルールを決めています。調べたところ、以下のような特徴があるようです。照合順序の種類MySQLでUTF-8で、日本語を扱う場合に使用可能な照合順序は以下のものがあります。・utf8_bin全て区別します。・utf8_general_ciアルファベットの大文字小文字は区別しませんが、他は全て区別します。ひらがな、カタカナを区別しません。最初の「照合順序をutf8_unicode_ciにしてキーワード検索で、平仮名でもカタカナでも検索にヒットするようにして。」というのは、utf8_unicode_ciだから出来る仕様だったのかと理解しました。曖昧検索が出来るので便利ですが、例えば「パパ」を検索すると「ハハ」がヒットするという問題もあるため、検索精度は落ちます。扱いには注意が必要です。