Tôi đã đặt mọi biến tập mã hóa mà tôi có thể tìm ra là utf8
.Đường ray hiển thị dấu chấm hỏi (????) cho dữ liệu utf8 đầu vào của tôi
Trong database.yml
:
development: &development
adapter: mysql2
encoding: utf8
Trong my.cnf
:
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
Và nếu tôi chạy client mysql trong terminal:
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
Nhưng nó để đánh bại không khí. Khi tôi chèn utf8
dữ liệu từ ứng dụng Rails
, cuối cùng nó sẽ trở thành ?????????????
Tôi bỏ lỡ điều gì?
Xem http://stackoverflow.com/questions/29805029/stored-non-english-characters-got-mysql-character-set-issue/29810725# 29810725 để thảo luận về các dấu hỏi và cách xử lý chúng. –