基本情况:

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

乱码解决过程:

  1. 查看当前数据库编码(登录数据库后)

    # show variables like 'character%';


    (上图为已经配置成功)

  2. 如果结果不为上图则需要设置数据库配置文件

  • 编辑 /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 的博客

版权声明:本文为hzyy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hzyy/p/8659218.html