mariadb(mysql)数据库字符集设置(centos8)

mariadb(mysql)数据库在存储数据时,默认编码为latinl,当存储数据为中文字符时,在显示或者web调用时会显示为乱码,为解决该乱码问题,需修改默认字符集为UTF-8。

注意:

  • 先修改配置文件,重启数据库服务,然后再创建数据库数据表插入中文数据,则中文字符可正常显示;
  • 若先创建数据库数据表插入中文数据,然后才修改配置文件,重启数据库服务,则中文字符将依然显示为乱码;

1、登录mariadb数据库,查看数据库字符集,character-set-database和character-set-server项为latinl。
# mysql -uroot -p
MariaDB [(none)] > show variables like ‘%char%’;
mariadb(mysql)数据库字符集设置(centos8)

2、编辑/etc/my.cnf.d/mariadb-server.cnf,在[mysqld]加入配置项,如下图,保存配置文件。
# vi /etc/my.cnf.d/mariadb-server.cnf
character-set-server=utf8

mariadb(mysql)数据库字符集设置(centos8)

3、重启mariadb服务。
# systemctl restart mariadb

4、登录mariadb数据库,查看数据库字符集,character-set-database和character-set-server项变为utf8。
# mysql -uroot -p
MariaDB [(none)] > show variables like ‘%char%’;

mariadb(mysql)数据库字符集设置(centos8)

5、创建数据库,数据表,测试插入中文字符数据。
MariaDB [(none)] > show databases;
MariaDB [(none)] > create database test;
MariaDB [(none)] > use test;
MariaDB [(none)] > create table stu (age int, name char(40) );
MariaDB [(none)] > insert into test.stu values (19, ‘万丽’) ;
MariaDB [(none)] > select * from test.stu;

mariadb(mysql)数据库字符集设置(centos8)