MySQL utf8(mb4)の照合順序(collation)たち

  • 19
    Like
  • 0
    Comment
More than 1 year has passed since last update.

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です。