当前位置: 首页 > 面试题库 >

字符集和排序规则到底是什么意思?

慕铭
2023-03-14
问题内容

我可以阅读 MySQL 文档,这很清楚。但是,如何决定要使用哪个字符集?整理对哪些数据有影响?

我要求对两者以及如何选择它们进行解释。


问题答案:

从MySQL 文档:

字符集 是一组符号和编码。甲 归类 为在一个字符集的字符进行比较的一组规则。让我们通过一个假想字符集的例子来清楚地区分。

假设我们有一个包含四个字母的字母:“ A”,“ B”,“ a”,“ b”。我们给每个字母一个数字:’A’= 0,’B’= 1,’a’=
2,’b’=3。字母’A’是一个符号,数字0是’A’的编码,并且所有四个字母及其编码的组合是一个字符集。

现在,假设我们要比较两个字符串值“ A”和“ B”。最简单的方法是查看编码:“ A”为0,“ B”为1。因为0小于1,所以我们说“ A”小于“
B”。现在,我们刚刚完成的操作是将排序规则应用于字符集。排序规则是一组规则(在这种情况下,只有一个规则):“比较编码”。我们将所有可能的排序规则中最简单的一种称为二进制排序规则。

但是,如果我们想说小写字母和大写字母是等效的呢?那么我们将至少有两个规则:(1)将小写字母“ a”和“ b”等同于“ A”和“
B”;(2)然后比较编码。我们称此为不区分大小写的排序规则。它比二进制排序规则要复杂一些。

在现实生活中,大多数字符集都有许多字符:不仅是“ A”和“
B”,而且还包括整个字母,有时甚至是多个字母或带有数千个字符的东部书写系统,以及许多特殊符号和标点符号。同样在现实生活中,大多数归类规则都有很多规则:不区分大小写,也没有重音符号(“重音符号”是附加在字符上的标记,如德语中的“ö”)和多字符映射(例如“
ö’=’OE’在两个德国归类之一中)。



 类似资料:
  • 正如标题所说: “仿佛”规则到底是什么? 注意:将其标记为C和C++,因为它与两种语言都相关。

  • 问题内容: Python范围规则到底是什么? 如果我有一些代码: 在哪里找到?一些可能的选择包括以下列表: 在随附的源文件中 在类名称空间中 在函数定义中 在for循环中,索引变量 在for循环内 当函数传递到其他地方时,执行期间还会有上下文。也许lambda函数传递的方式有所不同? 某个地方必须有一个简单的参考或算法。对于中级Python程序员而言,这是一个令人困惑的。 问题答案: 实际上,这是

  • 问题内容: 我有以下示例: 在这段代码中,我可以理解Enum创建了一个Enum类型的Sizes。 我的问题是:EnumSet类型的对象吗?到底是什么意思 我真的很想更好地理解它。 问题答案: 对于任何变量,可以在其声明中找到其类型: 是的,(应该命名,因为它是一个集合)是type 。它也应该被泛化,因此被声明为 它的意思是那是type 。一个是一个包含一个特定的枚举类型的枚举例如,在比其他更有效的

  • 问题内容: 我在不可变字符串上编写了以下代码。 输出: 此处变量的值a已更改(许多人说不能更改不可变对象的内容)。但是,一句话到底是什么String是不变的呢? 问题答案: 在进一步探讨不变性之前,让我们在得出任何结论之前先了解一下类及其功能。 这是如何工作的: 与往常一样,这将创建一个包含的字符串”knowledge”并为其指定一个reference str。很简单?让我们执行更多功能: 让我们

  • 问题内容: 这是代码: 但是当我将“ #round”更改为“ this”时。它不会工作。为什么?(实际上是可行的,但是当我将它们放入setInterval()时,它将无法工作) 更改为“ this”,将无法使用。 问题答案: 是对调用当前函数的成员的引用… 那么您可以将其包装在jquery函数中以选择它,就像选择其他选择器一样。 因此调用匿名函数,这样它就不会被可引用成员调用,因此它默认为该对象。

  • 如果您想在mysql/mariaDB中添加自定义排序规则,那么对于utf-8字符集,您可以修改/字符集/索引。xml并使用LDML语法扩展字符集: 但是没有名为“utf8mb4”的字符集标记。所以我用name=“utf8mb4”创建了一个,并添加了排序规则/规则标记,在phpmyadmin中,我可以选择新创建的排序规则。但我不能插入四字节字符;我得到了错误 (使用内置的mb4排序规则,我可以做到这