1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| # 创建一个表
mysql> CREATE TABLE person (
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(30)
-> ) DEFAULT CHARSET utf8;
# 然后执行下面3条命令, 可以简写为 set names utf8;
set character_set_client=utf8;
set character_set_connection=utf8;
set_character_set_results=utf8;
# 查看当前字符集设置
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
# 然后插入一条数据
mysql> INSERT INTO person(name) VALUES('中文');
# 查询
mysql> SELECT * FROM person;
+----+--------+
| id | name |
+----+--------+
| 1 | 中文 |
+----+--------+
# 显示结果是正常的。
# 好,接下来,我们改变character_set_results 为 gbk
mysql> set character_set_results=gbk;
Query OK, 0 rows affected (0.04 sec)
mysql> SELECT * FROM person;
+----+------+
| id | name |
+----+------+
| 1 | |
+----+------+
|