更改 AsyncMysqlClient 的排序规则

Change collation of AsyncMysqlClient

如何将 AsyncMysqlClient(或 AsyncMysqlConnection,我不确定是哪一个)的排序规则更改为 utf8

我阅读了文档,但找不到任何更改字符集的方法。我可能错过了它,如果它确实存在的话。

认为您必须尝试更改通过 AsyncMysqlClient->connect 获得的连接上的字符集?

出于某种原因,我们实际上并没有公开一种方法来在 API. It would technically be possible to use AsyncMysqlClient::adoptConnection 中设置异步连接的编码以通过 MySQLi 创建连接并在传递之前设置编码到异步系统,但我不建议这样做。

相反,按照建议 here,您可以通过 SQL 显式设置连接编码:

SET collation_connection = utf8mb4_unicode_ci;
SET NAMES utf8;

如果您有权访问 MySQL 服务器本身的配置,则可以使用 init_connect 在每个非根连接的开头使用语句 运行 :

[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8;'
default-character-set=utf8
character-set-server=utf8
collation-server=utf8mb4_unicode_ci