
起初以为是mariadb没有设置默认utf8编码,于是将相关设置写入/etc/my.cnf.d/server.cnf及/etc/my.cnf.d/mysql-clients.cnf文件,但问题依旧。
后来发现,新版的mariadb已将utf8编码升级为utf8mb3编码(/usr/share/mysql/charsets/Index.xml):

因此,需要将thinkphp数据库配置文件(application/database.php)里的编码也改为utf8mb3:
// 数据库编码默认采用utf8
'charset' => 'utf8mb3',
然后F5刷新,问题解决。