[docs update]完善字符集详解部分内容

This commit is contained in:
Guide 2024-01-08 23:00:42 +08:00
parent f0181eb020
commit cef4d6a67b
3 changed files with 16 additions and 8 deletions

View File

@ -10,6 +10,7 @@ export const highQualityTechnicalArticles = arraySidebar([
"programmer-quickly-learn-new-technology",
"the-growth-strategy-of-the-technological-giant",
"ten-years-of-dachang-growth-road",
"meituan-three-year-summary-lesson-10",
"seven-tips-for-becoming-an-advanced-programmer",
"20-bad-habits-of-bad-programmers",
"thinking-about-technology-and-business-after-five-years-of-work",

View File

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

View File

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