LoginSignup
0
1

More than 3 years have passed since last update.

備忘録 ~Mysqlの照合順序に関して~ 2020/04/23

Last updated at Posted at 2020-04-23

内容

mysqlの照合順序に関して、自分でも試してみた結果を載せようと思ったけど、網羅できているのか疑問、且つ照合順序に関しては詳しい記事が既にたくさんあるので記事に載せるのは断念。

結論から言うと、

  • 日本語を検索する場合: general_ci(unicode_ciだと濁点・半濁点のものにもマッチしてしまう)
  • アルファベットを検索する場合: unicode_ci(全角・半角、大文字・小文字にマッチする)

がよさそう。ただアルファベットを全角でDBに入れることってあまりなさそうなので、何れにせよgeneral_ciでいいのかなと思った。

アルファベットの大文字と小文字を区別したいときはutf8-binなのかな。

補足

こちらを参考にすると、

  • utf8_general_ci: 単純に比較する
  • utf8_unicode_ci: 似たような文字を同じ文字として扱う

ので、utf8_unicode_ciだと、で検索した時にもマッチするのだろうか。

データベース名設定時の「utf8 / utf8_general_ci」とは? / 文字セット(文字コード名)と照合順位のまとめ

MySQL 5.6 リファレンスマニュアル 10.1.14.1 Unicode 文字セット

あと大文字小文字がマッチするのは_cicase insensitiveだからで、_cs(case sensitive)ならマッチしないとのこと。

MySQLの照合順序(collation)をイチから勉強する

参考

【MySQL】照合順序とは?
MySQLの照合順序
MySQLの文字コードとCollation

MySQL Forums :: Character Sets, Collation, Unicode :: utf8 unicode ci vs utf8 general ci

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1