MariaDB文档清楚地说明了如何设置服务器默认值,如字符集和排序规则。所以我打开我的Mariadb控制台并运行:
SET character_set_server = 'utf8mb4';
SET collation_server = 'utf8mb4_slovak_ci';
控制台写得还可以。然后我重新启动服务器,但当我试图创建新的数据库时,仍然有相同的拉丁2字符集和瑞典排序规则。我通过Symfony cosole命令自动完成
php bin/console doctrine:database:create
这是怎么回事?我按照文件上说的那样做了。
SET character_set_server
更改当前连接的字符集。SET global character_set_server
为每个新连接全局更改字符集。
但是,若重新启动服务器,则会从配置文件中读取服务器的默认字符集。如果配置文件没有指定字符集,则将使用默认值。因此,为了使您的设置永久化,您必须更改配置文件中的字符集(https://mariadb.com/kb/en/configuring-mariadb-with-option-files/)
首先,运行SHOW VARIABLES like "%collation%";
以显示当前配置。要更改collation_server
设置,您必须使用关键字GLOBAL
,因此您的语句将为SET GLOBAL collation_server = 'utf8mb4_slovak_ci';