更改 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
如何将 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