utf8_bin
collation được sử dụng để so sánh các chuỗi trong chế độ phân biệt chữ hoa chữ thường, theo giá trị nhị phân của mỗi ký tự. Nó có thể phụ thuộc vào cài đặt cục bộ của cơ sở dữ liệu của bạn mà bộ ký tự hoặc đối chiếu được sử dụng. Ví dụ đối với cơ sở dữ liệu MySQL, bạn có thể kiểm tra chế độ đối chiếu của cơ sở dữ liệu MySQL của mình bằng lệnh MySQL sau
mysql> SELECT COLLATION(VERSION());
+----------------------+
| COLLATION(VERSION()) |
+----------------------+
| utf8_general_ci |
+----------------------+
..hoặc bằng cách sử dụng cái này ..
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
Trong trường hợp của bạn, một trong những giá trị này phải là utf8_bin
. Các giá trị chung cho cơ sở dữ liệu có thể được đặt trong tệp cấu hình của bạn, có thể là my.cnf
cho MySQL. Để tạo bảng MySQL với một công cụ, bộ ký tự hoặc đối chiếu cụ thể, bạn có thể sử dụng các tùy chọn di chuyển:
create_table :users,
:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci'
...
Theo tài liệu, bộ ký tự bảng và đối chiếu là các phần mở rộng của MySQL, không có những thứ như vậy trong SQL tiêu chuẩn.