Answers:
字符集是符号列表。如果将ASCII与latin1进行比较,则使用latin1可以编写所有美式单词,因为latin1包含所有ASCII字符,足以写任何英语单词。相反,使用ASCII时,您将无法编写西欧特定语言的所有单词,因为例如缺少诸如“À”,“ë”,“õ”,“Ñ”之类的字符。
排序规则是关于字符之间的比较。它定义了一组规则来比较字符集的字符。
在MySQL中,排序规则通常与一种语言相关(例如,“ latin1_swedish_ci”,“ latin1_german1_ci”等)。当您订购选择查询时,在某些语言中(带有某些排序规则),将以'ö'开头的单词放置在以'o'和'p'开头的两个单词之间。但是,通过另一个排序规则,可以将该字符完全放在末尾,从而使最终的选择有所不同。
作为上一个答案,字符集是分配给数字的一组字符(字母,数字,表意文字等);为了能够看到它们,您必须具有字体(我们阅读的小的“图片”)。它们对于使用LatinX很重要,因为对于每个X,相同的数字(字节)可能表示不同的字符。
如今,选择编码更为重要:标准是UTF-8,这是Unicode(与ASCII兼容,但可以灵活地包括所有语言,甚至中文和日文)和W3C标准的最成功表示。换句话说,它包括所有字符集。
排序规则:这是一个源自拉丁语的老式单词。这意味着:将副本(原稿)与原始副本进行比较,以发现差异(错误或更改)。过去它非常有用,但现在几乎已经成为一种古老,因为我们的文档和书籍都是使用计算机编写的,并且副本始终与原始副本相同。示例:在意大利语(源自拉丁语)中,有动词“ collazionare”,但在字典中,没有人使用它。
因此,排序规则定义了比较运算符的行为:=,>,<,<=,> = ...
当然,这些运算符用于确定两个字符串是否相同,或者一个单词是否比另一个字符串“更大”,这对于我们要排序非常重要。字母在每种语言中的顺序都不相同,因此使用排序规则的单词可以大于另一个单词,但不能使用另一个单词。实际示例请参见[1]。
“ bin”排序规则是最严格的:SELECT“ b” =“ B” => FALSE
“ ci”归类不区分大小写:SELECT“ b” =“ B” => TRUE
“一般”倾向于忽略一些差异:SELECT“ a” =“à” => TRUE
其他特定于一种或多种语言。示例“瑞典语”(我不知道为什么瑞典语通常是默认设置)
我仍在寻找一个网站,在该网站中详细描述了每种归类的行为...这些示例是基于我的经验。