MySQL 设置UTF8的终极方法
1、通过mysql查看当前字符集格式
mysql> show variables like "%char%";
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin |
| character_set_connection | latin |
| character_set_database | latin |
| character_set_filesystem | binary |
| character_set_results | latin |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
2、退出mysql,在 /etc/my.cnf 中加入utf8相关配置
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8
3、重启mysql
[root@localhost ~]# systemctl restart mysqld
4、进入mysql进行查询重置结果
mysql> show variables like "%char%";
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.01 sec)
5、测试
mysql> insert into student (id,name) values (2,"运维之道");
Query OK, 1 row affected (0.01 sec)
mysql> select * from student;
+------+-----------+
| id | name |
+------+-----------+
| 1 | villian |
| 2 | 运维之道 |
+------+-----------+
2 rows in set (0.00 sec)