基本情况:
系统:centos 7
mariadb安装方式:yum
乱码解决过程:
- 查看当前数据库编码(登录数据库后)
# show variables like \'character%\';
(上图为已经配置成功)
- 如果结果不为上图则需要设置数据库配置文件
-
编辑 /etc/my.cnf.d/client.cnf 文件,添加如下内容
[client]
default-character-set=utf8 -
编辑 /etc/my.cnf.d/mysql-clients.cnf文件,添加如下内容
[mysql]
default-character-set=utf8 -
编辑 /etc/my.cnf 文件,添加如下内容
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB -
重启服务
# systemctl restart mariadb
再次运行 # show variables like \'character%\';
结果如上图,则表示设置成功。
但是此时如果在设置之前创建的database 中插入中文,仍为乱码。此时删除重新创建一个数据库即可。
图片中各个选项对应的字符集含义,见sunzn\'Blog 的博客