操作環境 FreeBSD12.4 Mariadb 10.6 PHP7.4
Step1)編輯my.cnf
#vi /usr/local/etc/mysql/my.cnf
[client]
default-character-set = utf8mb4
[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix = true
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8mb4
Step2)重新啟動mysql-server
#service mysql-server restart
Step3)使用mysql_collation.php轉換原來資料庫內資料
#cd /usr/local/www/apache24/moodle
#php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci
Step4)重新最佳化所有資料庫
#mysqlcheck -u root -p --auto-repair --optimize --all-databases
Step5)編輯moodle的config.php
$CFG->dboptions = array(
…
'dbcollation' => 'utf8mb4_unicode_ci',
…
);
Step6)重新瀏覽moodle的「儀表板->網站管理->主機->環境」,就可以發現解決MySQL full unicode support問題。
參考 https://docs.moodle.org/401/en/MySQL_full_unicode_support