latin1_german1_ci
German DIN-1
latin1_swedish_ci
Swedish/Finnish
latin1_danish_ci
Danish/Norwegian
latin1_german2_ci
German DIN-2
latin1_bin
Binary according to latin1 encoding
latin1_general_ci
Multilingual (Western European)
latin1_general_cs
Multilingual (ISO Western European), case sensitive
latin1_spanish_ci
Modern Spanish
Объединения имеют эти общие характеристики:
Два различных набора символов не могут иметь то же самое объединение.
Каждый набор символов имеет одно объединение, которое является заданным по умолчанию объединением. Например, заданное по умолчанию объединение для latin1: latin1_swedish_ci. Вывод SHOW CHARACTER SET указывает, который объединение является значением по умолчанию для каждого отображаемого набора символов.
Имеется соглашение для имен объединения: они начинаются с имени набора символов, с которым они связаны, они обычно включают имя языка, и они заканчиваются на _ci (case insensitive), _cs (case sensitive) или на _bin (binary).
10.3. Определение наборов символов и объединений
Имеются установки по умолчанию для наборов символов и объединений в четырех уровнях: сервер, база данных, таблица и столбец. Следующее описание может показаться сложным, но было показано практически, что много уровней значений по умолчанию ведет к естественным и очевидным результатам.
CHARACTER SET используется в предложениях, которые определяют набор символов. CHARSET может использоваться как синоним для CHARACTER SET.
10.3.1. Набор символов и объединение на стороне сервера
Сервер MySQL имеет набор символов и объединение сервера. Они могут быть установлены при запуске и изменены во время выполнения.
Первоначально, набор символов и объединение зависят от параметров, которые Вы используете, когда запускаете mysqld . Вы можете использовать --character-set-server для набора символов. Наряду с этим, Вы можете добавлять --collation-server для объединения. Если Вы не определяете набор символов, считается, что задано --character-set-server=latin1. Если Вы определяете только набор символов (например, latin1), но не задаете объединение, считается, что задано --character-set-server=latin1 --collation-server=latin1_swedish_ci, потому что latin1_swedish_ci заданное по умолчанию объединение для latin1. Следовательно, следующий три команды все имеют тот же самый эффект:
shell> mysqld
shell> mysqld --character-set-server=latin1
shell> mysqld --character-set-server=latin1
– -collation-server=latin1_swedish_ci
Один способ изменят параметры настройки: перекомпиляция. Если Вы хотите изменять заданный по умолчанию набор символов сервера и объединение при формировании из исходных текстов, используйте: --with-charset и --with-collation в качестве параметров для configure. Например:
shell> ./configure --with-charset=latin1
Или:
shell> ./configure --with-charset=latin1
– -with-collation=latin1_german1_ci
mysqld и скрипт configure проверяют, что комбинация объединений и наборов символов допустима. Если это не так, каждая из упомянутых программ отображает сообщение об ошибке и завершается.
Текущий набор символов и объединение сервера могут быть определены из значений переменных системы character_set_server и collation_server. Эти переменные могут быть изменены во время выполнения.
10.3.2. Набор символов и объединение базы данных
Каждая база данных имеет набор символов и объединение базы данных. Инструкции CREATE DATABASE и ALTER DATABASE имеет факультативные предложения для определения набора символов базы данных и объединения:
CREATE DATABASE
[[DEFAULT] CHARACTER SET
[[DEFAULT] COLLATE