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

相关内容

热门资讯

因乘客咬伤空乘人员,澳洲航空一... 【环球网报道】据英国《卫报》、法新社等媒体报道,因一名男性乘客涉嫌咬伤空乘人员,澳大利亚澳洲航空公司...
记者手记:从“聪明的路”到“智... 新华社北京5月16日电 记者手记:从“聪明的路”到“智慧的海”,触摸未来交通科技脉搏 新华社记者王聿...
没有明星大导的潮汕方言电影凭什... 五一档最大黑马《给阿嬷的情书》正在持续热映。这部全素人阵容、成本仅1400万的地方电影,像木棉花一样...
80后地产女王自杀,倒在楼市黎... 楼市回暖之际,房地产界却传出了一个噩耗:5月12日,香港乐风集团创始人周佩贤在住所内自杀身亡,年仅4...
苏州能模维申请服务器液冷散热器... 国家知识产权局信息显示,苏州能模维系统有限公司申请一项名为“一种服务器液冷散热器”的专利,公开号CN...
华为申请通信方法、设备和可读存... 国家知识产权局信息显示,华为技术有限公司申请一项名为“通信方法、设备和可读存储介质”的专利,公开号C...
批赖清德当局误判“台美关系”,... 海峡导报综合报道 美国总统特朗普结束访华行程后,外媒陆续报道其涉台相关说法。中国国民党17日批评民进...
家用冰箱温度调多少度合适 冰箱温度调节根据季节不同、需求不同来设定。通常来说夏季室外温度较高,控温可以调节在3-4档位,同时温...
智能冰箱温度调到多少合适 一般的食物适合的温度,新鲜食品区域推荐的温度是2.7-4.4℃,冷冻室的温度是-15℃。如果有单独的...
热水器平时调到什么温度合适 在热水器温度的调节上,要根据自己的实际情况来考虑,主要两个方面,第一,自己认为最合适的水温,第二,节...