我已经实现了简单的 Web 服务器,使用“sqljocky”包代理 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
输出显示变量如“%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)
输出显示“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)
但仍然显示不正确的字符。
如何让它正确显示?
最佳答案
sqljocky 中存在一个错误,这意味着 unicode 字符未正确编码。我已经修复了我刚刚发布的 v0.5.5 中出现错误的一些地方。当我有更多时间时,我会确保它在所有地方都得到修复。
关于mysql - SQLJocky : Incorrect encoding of received text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945499/