mariadb插入中文数据乱码解决过程

基本情况:

系统:centos 7
mariadb安装方式:yum

乱码解决过程:

  1. 查看当前数据库编码(登录数据库后)
# show variables like 'character%';


(上图为已经配置成功)

  1. 如果结果不为上图则需要设置数据库配置文件
  • 编辑 /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 的博客

原文地址:https://www.cnblogs.com/hzyy/p/8659218.html