Skip to content

Commit cef4d6a

Browse files
committed
[docs update]完善字符集详解部分内容
1 parent f0181eb commit cef4d6a

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

docs/.vuepress/sidebar/high-quality-technical-articles.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export const highQualityTechnicalArticles = arraySidebar([
1010
"programmer-quickly-learn-new-technology",
1111
"the-growth-strategy-of-the-technological-giant",
1212
"ten-years-of-dachang-growth-road",
13+
"meituan-three-year-summary-lesson-10",
1314
"seven-tips-for-becoming-an-advanced-programmer",
1415
"20-bad-habits-of-bad-programmers",
1516
"thinking-about-technology-and-business-after-five-years-of-work",

docs/database/character-set.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,23 @@ MySQL 字符编码集中有两套 UTF-8 编码实现:**`utf8`** 和 **`utf8mb4
1111

1212
为什么会这样呢?这篇文章可以从源头给你解答。
1313

14-
## 何为字符集
14+
## 字符集是什么
1515

1616
字符是各种文字和符号的统称,包括各个国家文字、标点符号、表情、数字等等。 **字符集** 就是一系列字符的集合。字符集的种类较多,每个字符集可以表示的字符范围通常不同,就比如说有些字符集是无法表示汉字的。
1717

1818
**计算机只能存储二进制的数据,那英文、汉字、表情等字符应该如何存储呢?**
1919

2020
我们要将这些字符和二进制的数据一一对应起来,比如说字符“a”对应“01100001”,反之,“01100001”对应 “a”。我们将字符对应二进制数据的过程称为"**字符编码**",反之,二进制数据解析成字符的过程称为“**字符解码**”。
2121

22+
## 字符编码是什么?
23+
24+
字符编码是一种将字符集中的字符与计算机中的二进制数据相互转换的方法,可以看作是一种映射规则。也就是说,字符编码的目的是为了让计算机能够存储和传输各种文字信息。
25+
26+
每种字符集都有自己的字符编码规则,常用的字符集编码规则有 ASCII 编码、 GB2312 编码、GBK 编码、GB18030 编码、Big5 编码、UTF-8 编码、UTF-16 编码等。
27+
2228
## 有哪些常见的字符集?
2329

24-
常见的字符集有 ASCII、GB2312、GBK、UTF-8……。
30+
常见的字符集有ASCII、GB2312、GB18030、GBK、Unicode……。
2531

2632
不同的字符集的主要区别在于:
2733

@@ -64,7 +70,7 @@ GB18030 完全兼容 GB2312 和 GBK 字符集,纳入中国国内少数民族
6470

6571
BIG5 主要针对的是繁体中文,收录了 13000 多个汉字。
6672

67-
### Unicode & UTF-8 编码
73+
### Unicode & UTF-8
6874

6975
为了更加适合本国语言,诞生了很多种字符集。
7076

@@ -100,7 +106,7 @@ UTF-32 的规则最简单,不过缺陷也比较明显,对于英文字母这
100106

101107
## MySQL 字符集
102108

103-
MySQL 支持很多种字符编码的方式,比如 UTF-8、GB2312、GBK、BIG5
109+
MySQL 支持很多种字符集的方式,比如 GB2312、GBK、BIG5、多种 Unicode 字符集(UTF-8 编码、UTF-16 编码、UCS-2 编码、UTF-32 编码等等)
104110

105111
### 查看支持的字符集
106112

@@ -252,13 +258,13 @@ set names utf8mb4
252258
# SET collation_connection = utf8mb4;
253259
```
254260

255-
### jdbc 对连接字符集的影响
261+
### JDBC 对连接字符集的影响
256262

257-
不知道你们有没有碰到过存储 emoji 表情正常,但是使用类似 Navicat 之类的软件的进行查询的时候,发现 emoji 表情变成了问号的情况。这个问题很有可能就是 jdbc 驱动引起的。
263+
不知道你们有没有碰到过存储 emoji 表情正常,但是使用类似 Navicat 之类的软件的进行查询的时候,发现 emoji 表情变成了问号的情况。这个问题很有可能就是 JDBC 驱动引起的。
258264

259-
根据前面的内容,我们知道连接字符集也是会影响我们存储的数据的,而 jdbc 驱动会影响连接字符集。
265+
根据前面的内容,我们知道连接字符集也是会影响我们存储的数据的,而 JDBC 驱动会影响连接字符集。
260266

261-
`mysql-connector-java`jdbc 驱动)主要通过这几个属性影响连接字符集:
267+
`mysql-connector-java`JDBC 驱动)主要通过这几个属性影响连接字符集:
262268

263269
- `characterEncoding`
264270
- `characterSetResults`

docs/high-quality-technical-articles/readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
- [程序员如何快速学习新技术](./advanced-programmer/programmer-quickly-learn-new-technology.md)
1010
- [程序员的技术成长战略](./advanced-programmer/the-growth-strategy-of-the-technological-giant.md)
1111
- [十年大厂成长之路](./advanced-programmer/ten-years-of-dachang-growth-road.md)
12+
- [美团三年,总结的 10 条血泪教训](./advanced-programmer/meituan-three-year-summary-lesson-10.md)
1213
- [给想成长为高级别开发同学的七条建议](./advanced-programmer/seven-tips-for-becoming-an-advanced-programmer.md)
1314
- [糟糕程序员的 20 个坏习惯](./advanced-programmer/20-bad-habits-of-bad-programmers.md)
1415
- [工作五年之后,对技术和业务的思考](./advanced-programmer/thinking-about-technology-and-business-after-five-years-of-work.md)

0 commit comments

Comments
 (0)