在服务器(centos 7.9+php 7.0+MariaDB 10.6)上运行thinkphp(5.0)项目,出现如下报错:
起初以为是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刷新,问题解决。
阅读(2769) | 评论(0) | 转发(0) |