答案 0 :(得分:7)
这是一个非常普遍的问题,人们经常面对,即使我也面对过。安装moodle最新3.2+时,它会检查MySQL数据库中对utf8mb4字符集的启用支持。这在MySQL中默认不会出现。你需要在mysql conf中设置几个参数。
在基于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-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8mb4
更改值后,重新启动mysql,现在应修复错误。
请参阅以下docuemnt
答案 1 :(得分:3)
我有同样的问题这对我有帮助, 转到phpmyadmin并复制信息架构的排序规则 在我的情况下,information_schema - >的 utf8_general_ci 强>
现在转到htdocs / moodle / config.php并更改此部分
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => '',
'dbsocket' => '',
'dbcollation' => 'utf8_general_ci',
);
注意 - 这里只将dbcollation更改为&utff8_general_ci' 并刷新安装页面,这将解决两个错误
答案 2 :(得分:2)
请安装(或访问)phpmyadmin并执行SQL
set Global innodb_file_format = Barracuda
set Global innodb_file_per_table = 1
set Global innodb_large_prefix = "ON"