MySQLで文字列を比較するとき、照合順序を変更すると、
大文字小文字を区別できるようになったり、ソート順を設定できたりします。
よく使われる文字コードであるutf8とutf8mb4には、以下のような照合順序があります。
utf8とutf8mb4で使える照合順序
名前 | 概要 |
---|---|
utf8(mb4)_bin | 大文字小文字を含めて、すべて異なる文字として扱う |
utf8(mb4)_general_ci | 大文字小文字を同じ文字として扱う。デフォルト |
utf8(mb4)_unicode_ci | 上記に加え、同じような文字を厳密に照合する。UCA 4.0を利用 |
utf8(mb4)_unicode_520_ci | 同上。ただしUCA 5.2.0を利用 |
UCAとはUnicode照合アルゴリズムのことです。
今後UCAのバージョンが上がるごとに新しい照合順序ができるようです。
utf8(mb4)照合順序は他にも多数ありますが、厳密な国際化を考えてない限りは関係ないでしょう。
言語や地域によって文字(列)の照合方法が若干変わるので、それをサポートしたものです。
確認方法
各文字コードにおける照合順序の一覧は以下の方法で確認できます。
SHOW COLLATION LIKE 'utf8mb4%'
例はutf8mb4です。