【问题标题】:SQLJocky: Incorrect encoding of received textSQLJocky:接收到的文本编码不正确
【发布时间】:2013-07-30 11:14:02
【问题描述】:

我已经使用“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)

但仍然显示不正确的字符。

如何让它正确显示?

【问题讨论】:

  • 您数据库中的表使用utf_general_ci 字符集?看起来像是表格字符集的问题。
  • 它使用utf8_general_ci charset
  • mysql> 显示变量,如 'collat​​ion%';
  • @mezoni,更新信息,有奇怪的值%)
  • 终于配置了MySQL,但还是没有运气:(

标签: mysql encoding unicode dart cyrillic


【解决方案1】:

sqljocky 中有一个错误,这意味着 unicode 字符没有被正确编码。我已经修复了我刚刚发布的 v0.5.5 中出现错误的一些地方。当我有更多的时间时,我会确保它到处都是固定的。

【讨论】:

  • James,现在应用程序因错误而失败。新开issue on GitHub
  • 确认,SDK和sqljocky更新后字符显示正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2012-08-30
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
相关资源
最近更新 更多