utf8_bin
collation digunakan untuk membandingkan string dalam mode case sensitive, dengan nilai biner dari setiap karakter. Ini mungkin tergantung pada pengaturan lokal database Anda yang charset atau susunannya digunakan. Misalnya untuk database MySQL, Anda dapat memeriksa mode collation database MySQL Anda dengan perintah MySQL berikut
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..atau dengan menggunakan yang ini..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
Dalam kasus Anda, salah satu dari nilai ini harus utf8_bin
. Nilai umum untuk database dapat diatur dalam file konfigurasi Anda, mungkin my.cnf
untuk MySQL. Untuk membuat tabel MySQL dengan mesin, rangkaian karakter, atau susunan tertentu, Anda dapat menggunakan opsi migrasi:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Menurut dokumentasi, kumpulan karakter dan susunan tabel adalah ekstensi MySQL, tidak ada hal seperti itu di SQL standar.