千家信息网

MySQL中GBK字符集和UTF8字符编码的相关操作

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,下面讲讲关于MySQL中GBK字符集和UTF8字符编码的相关操作,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL中GBK字符集和UTF8字符编码的相关操作这篇文章
千家信息网最后更新 2025年02月01日MySQL中GBK字符集和UTF8字符编码的相关操作

下面讲讲关于MySQL中GBK字符集和UTF8字符编码的相关操作,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL中GBK字符集和UTF8字符编码的相关操作这篇文章你一定会有所受益。

GBK 和UTF8的实际在系统里面的存放方式:

1、GBK:

> SELECT hex(convert('你好' using gbk));

+----------------------------------+

| hex(convert('你好' using gbk)) |

|----------------------------------|

| C4E3BAC3 |

+----------------------------------+

GBK字符集是按照4个长度来分割的,因此得出对应关系:

你 --> C4E3

好 --> BAC3

2、UTF-8:

> SELECT hex(convert('你好' using utf8));

+-----------------------------------+

| hex(convert('你好' using utf8)) |

|-----------------------------------|

| E4BDA0E5A5BD |

+-----------------------------------+

UTF8字符集是按照6个长度来分割的,因此得出对应关系:

你 --> E4BDA0

好 --> E5A5BD

这样我们就能发现不同的地方了。假如我们用的是UTF-8存进去的"你好"(对应的底层存储为:E4BDA0E5A5BD),但是使用GBK的方式来读取的话,GBK会对E4BDA0E5A5BD按照每4个bit长度切分,最终切分成E4BD A0E5 A5BD 这个样子。

(如下)

> SELECT CONVERT( unhex('E4BDA0E5A5BD') USING GBK);

+-------------------------------------------+

| CONVERT( unhex('E4BDA0E5A5BD') USING GBK) |

+-------------------------------------------+

| 浣犲ソ | ---> 采用GBK的方式读出来就成乱码了

+-------------------------------------------+

> SELECT hex(convert('浣' using gbk));

+-------------------------------+

| hex(convert('浣' using gbk)) |

+-------------------------------+

| E4BD |

+-------------------------------+

> SELECT hex(convert('犲' using gbk));

+-------------------------------+

| hex(convert('犲' using gbk)) |

+-------------------------------+

| A0E5 |

+-------------------------------+

> SELECT hex(convert('ソ' using gbk));

+-------------------------------+

| hex(convert('ソ' using gbk)) |

+-------------------------------+

| A5BD |

+-------------------------------+

补充,将16进制的编码反推成UTF8编码的汉字:

> SELECT CONVERT( unhex('E4BDA0E5A5BD') USING utf8);

+--------------------------------------------+

| CONVERT( unhex('E4BDA0E5A5BD') USING utf8) |

+--------------------------------------------+

| 你好 |

+--------------------------------------------+

> SELECT CONVERT( unhex('E4BDA0E5A5BD') USING GBK);

+-------------------------------------------+

| CONVERT( unhex('E4BDA0E5A5BD') USING GBK) |

+-------------------------------------------+

| 浣犲ソ | ---> 采用GBK的方式读出来就成乱码了

+-------------------------------------------+

对于以上MySQL中GBK字符集和UTF8字符编码的相关操作相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

字符 你好 字符集 编码 方式 长度 乱码 地方 UTF-8 不同 下文 主题 内容 奥妙 实际 底层 文字 更多 板块 样子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 人口普查使用的数据库 如何备份一个数据库的表结构 个人服务器与个人nas区别 网络安全业务骨干培训 sql数据库安装需要多久 计算机网络技术论文答辩问题 烈火皇城有几个服务器 图片名称怎么存储到数据库 电力网络安全事件应急演练 软件开发两年内不得收取运维费 广电网络技术主管自我评价 查看数据库的归档 无线传感器网络技术项目书 网络技术员证书图片 软考数据库解压密码 网络游戏服务器排行榜 贵州省计算机网络技术专升本 阿里巴巴唐超数据库 你以为的计算机网络技术专业 软件开发培训机构历评价 网页游戏软件开发制作 共筑网络安全的盾 网络安全业务骨干培训 自动sql备份数据库 网络安全主题教学设计 游戏 服务器 源码 在网络环境下数据库的安全 怎么关掉网络安全防护视频 想做软件开发要学什么技术 无锡进口软件开发成本价
0