Как и в предыдущем ответе, набор символов представляет собой набор символов (букв, цифр, идеограмм и т. Д.), Назначенных на номер; чтобы увидеть их, у вас должен быть шрифт (маленькие «картинки», которые мы читаем). Они были важны при использовании LatinX, потому что для каждого X одно и то же число (байт) могло относиться к другому символу.
В настоящее время более важно выбрать кодировку: стандартом является UTF-8, наиболее удачное представление Unicode (совместимое с ASCII, но настолько гибкое, чтобы включить все языки, даже китайский и японский) и стандарт W3C. Другими словами, он включает в себя все наборы символов.
Сопоставление: это старомодное слово, производное от латыни. Это означает: сравнить копию (рукопись) с оригиналом, чтобы найти различия (ошибки или изменения). Это было очень полезно в прошлом, но сейчас это почти архаизм, потому что наши документы и книги написаны с использованием компьютеров, и копия всегда идентична оригиналу. Пример: в итальянском (происходит от латинского) есть глагол «collazionare», но он есть в словарях, и никто не использует его.
Таким образом, сопоставление определяет поведение операторов сравнения: =,>, <, <=,> = ...
Конечно, эти операторы используются для определения того, являются ли две строки одинаковыми или одно слово «больше» другого, что очень важно, если мы хотим отсортировать. Буквы не в том же порядке для каждого языка, поэтому слово может быть больше, чем другое, используя сопоставление, но не используя другое. См. [1] для практического примера.
сортировки "bin" самые строгие: SELECT "b" = "B" => FALSE
параметры сортировки "ci" не чувствительны к регистру: SELECT "b" = "B" => TRUE
«общие» склонны игнорировать некоторые различия: SELECT «a» = «à» => TRUE
другие специфичны для одного или нескольких языков. Пример "шведский" (я не знаю, почему шведский часто используется по умолчанию)
Я все еще ищу веб-сайт, где поведение каждого сопоставления подробно описано ... эти примеры связаны с моим опытом.
[1] http://www.olcot.co.uk/sql-blogs/revised-difference-between-collation-sql_latin1_general_cp1_ci_as-and-latin1_general_ci_as