基本情况:
系统:CentOS 7
MariaDB安装方式:通过yum安装
解决中文数据插入乱码的步骤:
-
首先,登录数据库并查看当前数据库编码设置:
# show variables like 'character%';
(上图显示已成功配置) -
如果查询结果与上图不符,则需要调整数据库配置文件:
-
编辑
/etc/my.cnf.d/client.cnf文件,添加以下内容:<code>[client] default-character-set=utf8</code>
-
编辑
/etc/my.cnf.d/mysql-clients.cnf文件,添加以下内容:<code>[mysql] default-character-set=utf8</code>
-
编辑
/etc/my.cnf文件,添加以下内容:<code>[mysqld] character-set-server=utf8 default-storage-engine=INNODB</code>
-
重启MariaDB服务以应用更改:
# systemctl restart mariadb
-
再次运行以下命令,检查字符集设置是否已正确应用:
# show variables like 'character%';
如果结果如上图所示,则表示配置成功。
-
然而,如果在配置之前已经创建的数据库中插入中文字符仍然出现乱码,建议删除该数据库并重新创建一个新的数据库。
关于图片中各个选项对应的字符集含义,请参考:https://www.php.cn/link/45c279002a2f09dafffe35f3ca26f309










