@@ -11,17 +11,23 @@ MySQL 字符编码集中有两套 UTF-8 编码实现:**`utf8`** 和 **`utf8mb4
11
11
12
12
为什么会这样呢?这篇文章可以从源头给你解答。
13
13
14
- ## 何为字符集 ?
14
+ ## 字符集是什么 ?
15
15
16
16
字符是各种文字和符号的统称,包括各个国家文字、标点符号、表情、数字等等。 ** 字符集** 就是一系列字符的集合。字符集的种类较多,每个字符集可以表示的字符范围通常不同,就比如说有些字符集是无法表示汉字的。
17
17
18
18
** 计算机只能存储二进制的数据,那英文、汉字、表情等字符应该如何存储呢?**
19
19
20
20
我们要将这些字符和二进制的数据一一对应起来,比如说字符“a”对应“01100001”,反之,“01100001”对应 “a”。我们将字符对应二进制数据的过程称为"** 字符编码** ",反之,二进制数据解析成字符的过程称为“** 字符解码** ”。
21
21
22
+ ## 字符编码是什么?
23
+
24
+ 字符编码是一种将字符集中的字符与计算机中的二进制数据相互转换的方法,可以看作是一种映射规则。也就是说,字符编码的目的是为了让计算机能够存储和传输各种文字信息。
25
+
26
+ 每种字符集都有自己的字符编码规则,常用的字符集编码规则有 ASCII 编码、 GB2312 编码、GBK 编码、GB18030 编码、Big5 编码、UTF-8 编码、UTF-16 编码等。
27
+
22
28
## 有哪些常见的字符集?
23
29
24
- 常见的字符集有 ASCII、GB2312、GBK、UTF-8 ……。
30
+ 常见的字符集有: ASCII、GB2312、GB18030、 GBK、Unicode ……。
25
31
26
32
不同的字符集的主要区别在于:
27
33
@@ -64,7 +70,7 @@ GB18030 完全兼容 GB2312 和 GBK 字符集,纳入中国国内少数民族
64
70
65
71
BIG5 主要针对的是繁体中文,收录了 13000 多个汉字。
66
72
67
- ### Unicode & UTF-8 编码
73
+ ### Unicode & UTF-8
68
74
69
75
为了更加适合本国语言,诞生了很多种字符集。
70
76
@@ -100,7 +106,7 @@ UTF-32 的规则最简单,不过缺陷也比较明显,对于英文字母这
100
106
101
107
## MySQL 字符集
102
108
103
- MySQL 支持很多种字符编码的方式 ,比如 UTF-8、GB2312、GBK、BIG5 。
109
+ MySQL 支持很多种字符集的方式 ,比如 GB2312、GBK、BIG5、多种 Unicode 字符集( UTF-8 编码、UTF-16 编码、UCS-2 编码、UTF-32 编码等等) 。
104
110
105
111
### 查看支持的字符集
106
112
@@ -252,13 +258,13 @@ set names utf8mb4
252
258
# SET collation_connection = utf8mb4;
253
259
```
254
260
255
- ### jdbc 对连接字符集的影响
261
+ ### JDBC 对连接字符集的影响
256
262
257
- 不知道你们有没有碰到过存储 emoji 表情正常,但是使用类似 Navicat 之类的软件的进行查询的时候,发现 emoji 表情变成了问号的情况。这个问题很有可能就是 jdbc 驱动引起的。
263
+ 不知道你们有没有碰到过存储 emoji 表情正常,但是使用类似 Navicat 之类的软件的进行查询的时候,发现 emoji 表情变成了问号的情况。这个问题很有可能就是 JDBC 驱动引起的。
258
264
259
- 根据前面的内容,我们知道连接字符集也是会影响我们存储的数据的,而 jdbc 驱动会影响连接字符集。
265
+ 根据前面的内容,我们知道连接字符集也是会影响我们存储的数据的,而 JDBC 驱动会影响连接字符集。
260
266
261
- ` mysql-connector-java ` (jdbc 驱动)主要通过这几个属性影响连接字符集:
267
+ ` mysql-connector-java ` (JDBC 驱动)主要通过这几个属性影响连接字符集:
262
268
263
269
- ` characterEncoding `
264
270
- ` characterSetResults `
0 commit comments