somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【MySQL】照合順序

phpMyAdminでよく見かける照合順序についてのメモです。

照合順序

文字データの並べ替えと比較の順序について定められたルール。今回はこのうち、文字列の比較をするときアルファベットの大文字小文字を区別する(case-sensitive)かしないのか(case-insensitive)についてのお話。

ようするに

正しい照合順序を設定していないと、比較がうまくいかないためにデータの抽出が正しくできなかったり、並べ替えができないので変な順番になったりするらしいです。

phpでは、UTF-8を使うのが一般的です。MySQLの照合順序でよく使われている3つを下記に示します。

  • utf8_bin
  • utf8_unicode_ci
  • utf8_general_ci

それぞれの特徴は以下のとおりです。

  • バイナリ(文字コード)で比較
  • 正確性を重視していて、英字の大文字小文字が区別しない
  • 正確性を重視していて、英字の大文字小文字が区別しない

参考