Il utf8_bin
confronto viene utilizzato per confrontare le stringhe in una modalità con distinzione tra maiuscole e minuscole, in base al valore binario di ciascun carattere. Può dipendere dalle impostazioni locali del database quale set di caratteri o confronto viene utilizzato. Ad esempio, per un database MySQL, puoi controllare la modalità di confronto del tuo database MySQL con il seguente comando MySQL
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..o usando questo..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
Nel tuo caso uno di questi valori dovrebbe essere utf8_bin
. I valori generali per il database possono essere impostati nel tuo file di configurazione, probabilmente my.cnf
per MySQL. Per creare una tabella MySQL con un motore, un set di caratteri o un confronto specifico puoi utilizzare le opzioni di migrazione:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Secondo la documentazione, il set di caratteri della tabella e regole di confronto sono estensioni MySQL, non ci sono cose del genere nell'SQL standard.