mariadb中文编码问题,mariadb中文编码
当我们在使用mysql数据库时,作为纯正的爱国者(实质是英语看不懂),当然会使用中文存储一些数据,但是默认情况下存储的中文是 ????#*? 这种外星文文字,这是要搞什么?完全看不懂?因此如何修改数据库中的编码格式设置呢?
数据库编码格式的查看
登录数据库
mysql -uroot -p
通过下面命令查看mysql的编码格式
show variables like ‘character_set_%’;
临时修改数据库的编码格式
修改除了character_set_filesystem之外的其他变量的编码格式为utf8;
MariaDB [(none)]> set character_set_server=’utf8’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> set character_set_database = ‘utf8’;
Query OK, 0 rows affected (0.00 sec)
但是,很坑的是,当重启服务后,刚才的设置就直接失效,所以也是挺崩溃的;大招在下面.
永久修改数据库的编码格式
配置mysql的配置文件,配置文件在/etc/my.cnf.d/目录,设置编码格式:
第一个文件修改: /etc/my.cnf.d/client.cnf
7 [client]
8 default-character-set=utf8
第二个文件修改: /etc/my.cnf.d/server.cnf
11 # this is only for the mysqld standalone daemon
12 [mysqld]
13 character-set-server=utf8
上面设置完成,看似很完美,但是重启mariadb服务后,character_set_database并没有进行修改,因此,为了一步到位,直接设置character_set_database编码格式为utf8,如下:
MariaDB [(none)]> set character_set_database = ‘utf8’;
Query OK, 0 rows affected (0.00 sec)
一切ok,搞定!棒棒哒!