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 |
+----------------------+-------------------+
Във вашия случай една от тези стойности трябва да бъде utf8_bin
. Общите стойности за базата данни могат да бъдат зададени във вашия конфигурационен файл, вероятно my.cnf
за MySQL. За да създадете MySQL таблица със специфичен двигател, набор от знаци или съпоставяне, можете да използвате опции за миграция:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Според документацията наборът от символи и сортиране на таблицата са MySQL разширения, няма такива неща в стандартния SQL.