我已经使用“sqljocky”包实现了简单的 Web 服务器来代理 MySQL。而且我有字符编码问题,西里尔字形显示不正确:
ÐавÑдов ÐиÑалий instead of Давыдов Витайлий
编辑:表排序规则是utf8_general_ci
。
我试图查询SET NAMES UTF8
:
pool.query('set names utf8');
[更新] 然后我在 /etc/ 目录中创建了 my.cnf ,内容如下:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
的输出show variables like "%char%";
mysql> show variables like "%char%";
+--------------------------+--------------------------------------------------------+
| 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/local/mysql-5.6.12-osx10.7-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0,00 sec)
的输出show variables like 'collation%'
mysql> show variables like 'collation%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0,00 sec)
但仍然显示不正确的字符。
如何让它正确显示?