moodle3.15+,mysql完全的Unicode支持配置
https://docs.moodle.org/dev/Releases,moodle个版本升级的主要内容和改动
在windows是mysql.ini linux 下是mysql.cnf
因为MySQL的默认只使用一个三字节的编码,因此在四个字节范围值(例如亚洲字符和表情符号)不能被存储,建议使用“utf8mb4_unicode_ci',它支持4字节字符(utf8_unicode_ci仅支持三种)
升级步骤
最重要的是:请备份在进行任何更改或运行CLI脚本之前,你的数据库。
- MySQL的更改配置设置(完全相同的MariaDB的)。这个步骤是可选的。您可以运行该脚本,它会尝试,使这些变化本身。如果发生错误,然后尝试手动更改这些设置,如下所示。
- 在基于Linux的系统,你会想要改变的my.cnf。这可能是位于在“/ etc / mysql /下”。
- 进行以下改动的my.cnf:
[client] default-character-set = utf8mb4 [mysqld] innodb_file_format = Barracuda innodb_file_per_table = 1 innodb_large_prefix character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set = utf8mb4
- 重新启动MySQL服务器。
- 运行CLI脚本转换为新的字符集和校对(需要Moodle的3.1.5,3.2.2或更高版本):
$ php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
- 调整你的config.php文件中$CFG-> dboptions数组,以确保Moodle的连接到MySQL服务器时使用正确的归类:
$CFG->dboptions = array( … 'dbcollation' => 'utf8mb4_unicode_ci', … );
- 尝试添加一些表情符号🇦🇺👏🎓到您的Moodle网站验证升级成功