MySQL中GBK字符集和UTF8字符编码的相关操作
admin
2023-05-18 22:22:39
0

下面讲讲关于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字符编码的相关操作相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

相关内容

热门资讯

原创 目... 以前预算在二三千块钱买手机,拍照能凑合用就不错了。但老实讲,现在的中端机市场简直卷疯了,连旗舰级的大...
新能源车保值率低对投资影响什么... 许多消费者在选购电动汽车时,往往只关注购车补贴和使用成本,却忽视了车辆全生命周期内的资产贬值问题。 ...
比男童闯入女更衣室更可怕的,是... 极目新闻评论员 屈旌近日,杭州一家度假酒店,男童被家长带入女更衣室引发争执,也引起全网热议。张女士带...
人工智能助力直肠癌个性化化疗 新华社伦敦8月1日电(记者张家伟)英国伦敦大学学院日前发布的一项研究显示,人工智能(AI)可通过分析...
永臻科技申请铝型材生产用自动码... 国家知识产权局信息显示,永臻科技(芜湖)有限公司申请一项名为“一种铝型材生产用自动码垛设备”的专利,...
两老人深信“山中听到有人呼喊名... “我听到你们喊我们了,但不敢回应......”7月29日21时06分,北京怀柔区消防救援局接到群众报...
特朗普拒绝为美伊达成协议设定最... △特朗普(资料图)央视记者获悉,当地时间8月2日,美国总统特朗普表示,美方将于3日与伊朗举行会谈,但...
特朗普是为了“日美友好”才出手... 为遏制历史性的日元贬值,日本政府和央行于7月30日晚至8月1日凌晨断断续续实施了日元买入干预,推动日...
道德有污就一定没有科研成果吗? 在很多人眼里只要是道德有亏的人,是不可能做出真正的科研成就的,可翻遍百年科学史就会发现,人性的复杂远...
全球核能发电创纪录,“增长几乎... 全球核电发电量迎来历史最高点,中国成为最关键的变量。美国《福布斯》杂志8月2日报道称,2025年全球...