utf8_bin
sortering bruges til at sammenligne strenge i en tilstand, der skelner mellem store og små bogstaver, med den binære værdi af hvert tegn. Det kan afhænge af dine lokale indstillinger i din database, hvilket tegnsæt eller sortering der bruges. For en MySQL-database kan du f.eks. kontrollere sorteringstilstanden for din MySQL-database ved hjælp af følgende MySQL-kommando
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..eller ved at bruge denne..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
I dit tilfælde skal en af disse værdier være utf8_bin
. De generelle værdier for databasen kan indstilles i din konfigurationsfil, sandsynligvis my.cnf
til MySQL. For at oprette en MySQL-tabel med en specifik motor, tegnsæt eller sortering kan du bruge migreringsmuligheder:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Ifølge dokumentationen er tabeltegnsæt og sortering er MySQL-udvidelser, er der ikke sådanne ting i standard SQL.