首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符集与字符编码的区别与演进(ASCII、GBK、UNICODE)

演进:GB2312(2字节)→扩展繁体字→GBK(2字节)→扩展少数民族中日韩等→GB18030国家标准(4字节)。...注意GBK都是向下兼容的,即GB18030兼容GB2312,因为使用的编码位置没有重叠。 1.3.1 大五码 Big5码是一套双位元组字符集,使用了双八码储存方法,以两个字节来安放一个字。...具体来说,定义的是下列字节: 范围 第1字节 第2字节 编码数 字数 水准GBK/1 A1–A9 A1–FE 846 717 水准GBK/2 B0–F7 A1–FE 6,768 6,763 水准GBK/...3 81–A0 40–FE (7F除外) 6,080 6,080 水准GBK/4 AA–FE 40–A0 (7F除外) 8,160 8,160 水准GBK/5 A8–A9 40–A0 (7F除外) 192...2.3 GBK 事实上我们使用的GBK、GB18030都是标准,但由于我们的标准只对应一套特定的字符集,所以可以认为GBK就是字符集

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL5.7 字符集设置

    MySQL5.7 字符集设置 character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server...= utf8mb4_unicode_ci init_connect=’SET NAMES utf8mb4’ character-set-client-handshake 用来控制客户端声明使用字符集和服务端声明使用的字符集在不一致的情况下的兼容性.... character-set-client-handshake = false # 设置为 False, 在客户端字符集和服务端字符集不同的时候将拒绝连接到服务端执行任何操作 # 默认为 true character-set-client-handshake...= true # 设置为 True, 即使客户端字符集和服务端字符集不同, 也允许客户端连接 character-set-server 声明服务端的字符编码, 推荐使用utf8mb4 , 该字符虽然占用空间会比较大..., 但是可以兼容 emoji 表情的存储 character-set-server = utf8mb4 collation-server 声明服务端的字符集, 字符编码和字符集一一对应, 既然使用了utf8mb4

    3.3K20

    警示:AL32UTF8字符集不是ZHS16GBK字符集的超集

    今天有客户向我咨询:数据库由ZHS16GBK字符集修改为AL32UTF8字符集,发现中文的数据中小部分出现乱码,客户认为AL32UTF8明明可以支持更多的文字,不应该出现这样的情况才对。...不过,之前也一直有个误区,我们都知道AL32UTF8是可以支持多国语言的字符集,对于中文字节存储占用空间比ZHS16GBK多,然后第一反应就认为AL32UTF8应该是ZHS16GBK的超集。...这就说明我们要改的AL32UTF8字符集并不是ZHS16GBK的超集。...而客户端是Windows,chcp结果是936,也就是ZHS16GBK,这也进一步说明了ZHS16GBK和AL32UTF8字符集的不同。...同时实验还验证,如果数据库字符集本身是AL32UTF8,想修改成为ZHS16GBK字符集,也是一样的情况,需要加internal_use参数才可以转换,也就是说这种转换一样可能出现乱码,不过这个情况反倒好理解

    1.9K60

    HTML基础-元信息与字符集设置

    字符集 字符集定义了文档中字符的编码方式,确保浏览器正确解析和显示非ASCII字符。常见的字符集有ISO-8859-1、UTF-8等,其中UTF-8是最广泛使用的,支持全球大部分语言。...忽略字符集声明 不声明字符集可能导致浏览器使用默认的字符集,这可能导致非ASCII字符显示错误。例如,中文字符可能显示为乱码。 2....缺乏元信息优化 没有为SEO设置适当的元信息,如和,可能会影响搜索引擎的排名。...使用替代 在某些情况下,可以使用来设置HTTP响应头信息,如Content-Type,但通常推荐使用,因为它是... 四、总结 正确设置HTML的元信息和字符集是创建有效网页的关键步骤。通过理解这些概念,遵循最佳实践,我们可以确保网页内容的正确显示,提高搜索引擎可见性,为用户提供更好的浏览体验。

    7210

    相克军_Oracle体系_随堂笔记013-字符集

    ZHS16GBK 2.国家字符集 一般都选用AL16UTF16 unicode字符集: UTF8 很老的,不用了。...注:实际生产环境,如果确定数据库只是中国人用(只有中英文相关字符)的话,就采用ZHS16GBK.. sql*plus客户端(设置原则:与所在操作系统字符集一致): windows:一般都是gbk,即chcp...into t2 values (1,'靖宇'); commit; 错误设置: export NLS_LANG=american_america.zhs16gbk select dump('靖宇',1016...) from dual; insert into t2 values (2,'靖宇'); commit; 注意:字符集设置错误导致库中存储的就是错误的编码,这个几乎是不可逆的`一定要慎重仔细设置字符集...服务器操作系统字符集(暂时忽略) ps: 1.因为sql*plus 本身没有字符集,依赖于所在操作系统的字符集,而在远端linux上的oracle也是无法直接访问到windows上的字符集,所以依靠sql

    66010

    再见乱码:5 分钟读懂 MySQL 字符集设置

    不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。...本文由浅入深,分别介绍了如下内容: 字符集、字符序的基本概念及联系 MySQL支持的字符集、字符序设置级,各设置级别之间的联系 server、database、table、column级字符集、字符序的查看及设置...应该何时设置字符集、字符序 二、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。...MySQL提供了不同级别的设置,包括server级、database级、table级、column级,可以提供非常精准的设置。 什么是字符集、字符序?...其实还有很重要的一部分内容还没涉及:针对连接的字符集、字符序设置。 由于连接的字符集、字符序设置不当导致的乱码问题也非常多,这部分内容展开来讲内容也不少,放在下一篇文章进行讲解。

    5.2K110

    【字符编码那些事】ASCII、GB2312、GBK、UTF-8编码以及Unicode字符集

    GBK编码 GBK编码在GB2312的基础上又增加了14240个汉字、生僻字和符号。...GBK标准进行解码,然后从第三个字节开始继续遍历检测。...在包含汉字数量上来说,Big5是GBK的子集,但是二者的编码方式是不同的,比如同样“啊”,GBK编码为0xB0A1,Big5编码为0xB0DA。...四、Unicode字符集 每个国家和地区都有一套自己的文字,不同的文字系统就要使用不同的编码标准,这就出现这样一个问题,同一个二进制编码在不同的编码标准中可能代表了不同的字符,比如0xB0A1,在GBK...而Unicode字符集在0xD800~0xDBFF区间内的编号不表示任何字符,UTF-16用这段编号与Unicode字符集中大于0xFFFF的字符编号进行映射,得到扩展的4字节编码。

    68610

    再见乱码:5 分钟读懂 MySQL 字符集设置

    本文由浅入深,分别介绍了如下内容: 字符集、字符序的基本概念及联系 MySQL支持的字符集、字符序设置级,各设置级别之间的联系 server、database、table、column级字符集、字符序的查看及设置...应该何时设置字符集、字符序 二、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。...MySQL提供了不同级别的设置,包括server级、database级、table级、column级,可以提供非常精准的设置。 什么是字符集、字符序?...只明确了 ,但 未明确,则字符序采用 ,字符集采用 关联的字符集。 、 均未明确,则采用数据库的字符集、字符序设置。...其实还有很重要的一部分内容还没涉及:针对连接的字符集、字符序设置。 由于连接的字符集、字符序设置不当导致的乱码问题也非常多,这部分内容展开来讲内容也不少,放在下一篇文章进行讲解。

    1.4K80

    【Oracle字符集】识别及转换导出文件的字符集

    ,Solaris是Big-Endians,Linux是Little-Endians,所以Linux上的输出通过交换可以得到: 0303 5445 58504f52 …....字符集和Solaris上是一致的,所以也可以通过od的参数设置显示格式: [oracle@jumper oracle]$ cat a.dmp|od -t x1|head -2 0000000 03 03...最常见的转换发生在从US7ASCII到ZHS16GBK之间。 由于很多数据库最初以US7ASCII字符集存储中文,单纯通过导出导入是无法完成字符集转换的。...对于这种情况,可以通过设置导出字符集为US7ASCII,原样导出数据;导出后修改导出文件的第二、三字符,修改0001为0354,这样就可以将US7ASCII字符集的数据正确导入到ZHS16GBK的数据库中...如果导出文件使用的字符集是US7ASCII,目标数据库的字符集是ZHS16GBK,就可以使用create database的方法来修改,具体操作如下: ? ?

    3.6K40
    领券