この稿で説明すること ※この稿では、MySQL5.5について説明する。 MySQLの文字列型のうちbinary以外の文字セットは、デフォルトの設定で以下2つの仕様がある。 比較の際に大文字・小文字を区別しない 比較の際に末尾の半角スペースを考慮しない これらの仕様は、アプリケーションを作る際に不都合なことがある(と言うか、たいていの場合バグの原因になる)ため、その解決方法についてのアイデアを提案する。 1. 比較の際に大文字・小文字を区別しない MySQLがサポートしている文字セットを確認してみると、binary以外は"Default collation"の末尾に"_ci"が付いている。 "_ci"はcase insensitiveの略で、比較の際に大文字・小文字を区別しない。 https://dev.mysql.com/doc/refman/5.5/en/charset-charsets