De utf8_bin
sortering wordt gebruikt om strings te vergelijken in een hoofdlettergevoelige modus, door de binaire waarde van elk teken. Het kan afhankelijk zijn van uw lokale instellingen van uw database welke tekenset of sortering wordt gebruikt. Voor een MySQL-database kunt u bijvoorbeeld de sorteermodus van uw MySQL-database controleren met het volgende MySQL-commando
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..of door deze te gebruiken..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
In jouw geval zou een van deze waarden utf8_bin
. moeten zijn . De algemene waarden voor de database kunnen worden ingesteld in uw configuratiebestand, waarschijnlijk my.cnf
voor MySQL. Om een MySQL-tabel met een specifieke engine, tekenset of sortering te maken, kunt u migratie-opties gebruiken:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Volgens de documentatie is de tabeltekenset en sortering zijn MySQL-extensies, dergelijke dingen zijn er niet in standaard SQL.