当前位置: 首页> 科技> 名企 > vps美国服务器_企业网络规划与设计方案_百度搜索官网_上海百度推广排名

vps美国服务器_企业网络规划与设计方案_百度搜索官网_上海百度推广排名

时间:2025/7/11 15:24:31来源:https://blog.csdn.net/GM_115/article/details/145488547 浏览次数:1次
vps美国服务器_企业网络规划与设计方案_百度搜索官网_上海百度推广排名

1、字符集

1.1、字符集简介

我们知道在计算机中只能存储二进制,那么如何将字符存储到计算机中,这个时候就需要将字符映射称为二进制,将所有字符映射为二进制就需要映射表。建立映射表需要注意:

1、明确哪些字符需要映射为二进制,即界定需要映射的字符范围

2、如何映射,一个字符映射为二进制数据为编码,二进制映射为字符为解码

使用一个概念“字符集”来描述字符范围和编码规则,我们可以自定义字符集

包含字符 'a' 'b' 'A' 'B'
编码规则如下:
采用 1 个字节编码一个字符的形式,字符和字节的映射关系如下:
'a' -> 00000001 (十六进制:0x01)
'b' -> 00000010 (十六进制:0x02)
'A' -> 00000011 (十六进制:0x03)
'B' -> 00000100 (十六进制:0x04)
'bA' -> 0000001000000011 (十六进制:0x0203)
'baB' -> 000000100000000100000100 (十六进制:0x020104)
'cd' -> 无法表示,字符集xiaohaizi不包含字符'c'和'd'

1.2、重要的字符集

由于使用计算机的各个国家比较多,所以不同的人制定出来不同的字符集。这些字符集的字符范围和编码规则个不一样。列举一些常用字符集

ASCII字符集

中共收录了128个字符,包括空格、标点符号、数字、字母、不可见字符。总共128个字符,所以可以使用一个字节进行编码

IS O8859-1字符集

总共收录了256个字符,是在ASCII字符集的基础上扩充了128个西欧字符(德法两国字母),同样可以使用一个字节进行编码。

GB2312字符集

收录了汉字以及拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母。其中收录汉字 6763 个,其他文字符号 682 个。同时这种字符集又兼容 ASCII 字符集,所以在编码方式上显得有些奇怪。
GBK字符集

 收录范围上对GB2313进行了扩充,编码上兼容GB2312

utf8字符集

收录地球上所有能想到的字符,而且仍旧不断扩充,这种字符兼容ASCII编码,编码一个字符需要1-4个字节长度。例如

1.3、utf8和utf8mb4

我们上边说 utf8 字符集表示一个字符需要使用 1 4 个字节,但是我们常用的一些字符使用 1 3
字节就可以表示了。而在 MySQL 中字符集表示一个字符所用最大字节长度在某些方面会影响系统
的存储和性能,所以设计MySQL 的大叔偷偷的定义了两个概念:
utf8mb3 :阉割过的 utf8 字符集,只使用 1 3 个字节表示字符。
utf8mb4 :正宗的 utf8 字符集,使用 1 4 个字节表示字符。
有一点需要大家十分的注意,在 MySQL utf8 utf8mb3 的别名,所以之后在 MySQL 中提到 utf8 就意味着使用 1~3 个字节来表示一个,utf8或者utf8mb4都是Unicode字符集,utf8包含了部分Unicode字符,utf8mb4是更大的utf8字符集。

 

1.4、排序规则

排序规则决定了字符的排序和比较方式,常见的排序规则

  • utf8mb4_unicode_ci: 基于 Unicode 的排序规则,不区分大小写。

  • utf8mb4_general_ci: 一种较老的排序规则,不区分大小写,但在某些语言中的排序可能不准确。

  • utf8mb4_bin: 基于二进制值的排序规则,区分大小写。

1.5、Mysql字符集常见操作

1、查看支持的字符集

SHOW CHARACTER SET;

2、设置字符集

  • 服务器级别:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
  • 数据库级别
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 表级别
CREATE TABLE mytable (id INT PRIMARY KEY,name VARCHAR(100)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 列级别
CREATE TABLE mytable (id INT PRIMARY KEY,name VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);

关键字:vps美国服务器_企业网络规划与设计方案_百度搜索官网_上海百度推广排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: