utf8_bin
照合は、大文字と小文字を区別するモードで、各文字のバイナリ値によって文字列を比較するために使用されます。使用されている文字セットまたは照合は、データベースのローカル設定によって異なる場合があります。たとえば、MySQLデータベースの場合、次のMySQLコマンドでMySQLデータベースの照合モードを確認できます
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..またはこれを使用して..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
あなたの場合、これらの値の1つはutf8_bin
である必要があります 。データベースの一般的な値は、構成ファイル(おそらくmy.cnf
)で設定できます。 MySQLの場合。特定のエンジン、文字セット、または照合を使用してMySQLテーブルを作成するには、移行オプションを使用できます。
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
ドキュメントによると、テーブルの文字セットと照合 MySQL拡張機能であり、標準SQLにはそのようなものはありません。