当前位置: 首页 > 科技观察

mysql数据库建立字符集和排序规则及说明

时间:2023-03-12 17:57:39 科技观察

概述我们在使用mysql的时候,尤其是在创建数据库的时候,需要选择当前数据库的字符集和排序规则,这样才能在你的数据库中创建数据表默认编码方法是图书馆选择的编码方法。这里我们使用的是根据navicat创建数据库。(主要讲一下中国的使用习惯)由于汉字的特殊性和数量多,我们在写代码或者其他文档的时候一般都会选择***UTF-8***编码,所以我们创建数据库一般都是UTF-8被选中。但是当我们可以看到数据框的时候,选择字符集的方式有两种:utf8和utf8mb4。那么你应该选择这两个原因中的哪一个?待会儿我给你看(通常是utf8mb4)。字符集选择结束后,我们还需要选择这个排序规则。我们都知道字符集是保存数据所需要的编码方式,那么这个排序规则是用来做什么的呢?归类规则是指在指定字符集下不同字符的比较规则。其特点如下:1、两个不同的字符集不能有相同的排序规则;2.两个字符集有一个默认的排序规则;3.有一些常用的命名规则。比如_ci结尾表示不区分大小写(caseinsensitive),_cs表示区分大小写(casesensitive),_bin表示二进制比较(binary)。那么如何选择排序规则呢,也请看下面小编给大家介绍一下。在字符集选择概述中,我们已经说过,国内普遍使用的编码方式大多是UTF-8,但是mysql数据库给出了两种选择“utf8”,一种是“utf8mb4”。根据查询资料可知,mysql的“utf8”并不是我们经常见到的UTF-8,而“utf8mb4”才是我们常用的UTF-8。为什么会这样?根据查询得知,MYSQL中的“utf8”编码只支持每个字符最大3个字节的编码方式,而我们平时使用的UTF-8是每个字符最大4个字节的编码方式。这个问题在我们中国人眼里是一个bug,但是MYSQL并没有修复这个bug,而是在2010年新增了一个字符集“utf8mb4”,对应我们经常使用的UTF-8。所以在我们这边,尤其是存储汉字的时候,需要使用的编码方式是“utf8mb4”。?