Архитектура кодовых страниц
Параметры сортировки управляют физическим хранением символьных строк в SQL Server. Параметры сортировки задают битовую маску, представляющую каждый символ, и правила, по которым сортируются и сравниваются символы.
В компьютере символы представлены различными комбинациями установленных (ON) или сброшенных (OFF) битов. В байте 8 бит, установка (ON) или сброс (OFF) которых дает 256 различных комбинаций. Таким образом, программа, использующая для хранения символов 1 байт, может представить до 256 различных символов, присваивая каждому символу свою битовую маску. В 2 байтах 16 бит, установка (ON) или сброс (OFF) которых дает 65 536 различных комбинаций. Программа, использующая для хранения символов 2 байта, может представить до 65 536 символов.
Однобайтовая кодовая страница определяет символы, соответствующие каждой битовой маске в байте. Кодовые страницы определяют битовые маски для символов верхнего и нижнего регистра, цифр, управляющих и специальных символов, таких как восклицательный знак (!), «собака» (@), знак номера (#) или процента (%). Каждый европейский язык, немецкий или испанский, имеет собственную однобайтовую кодовую страницу. Хотя битовые маски, которые используются для представления символов латинского алфавита от A до Z, одинаковые для всех кодовых страниц, битовые маски, представляющие диакритические знаки, разные в разных кодовых страницах.
В однобайтовых кодировках не могут храниться все символы многих языков. В некоторых азиатских языках имеются тысячи символов, поэтому для них нужно отводить по 2 байта на символ. Для таких языков определяются двухбайтовые кодировки и соответствующие кодовые страницы.
В следующей таблице представлены кодовые страницы, которые поддерживает SQL Server.
Кодовая страница |
Описание |
---|---|
1258 |
Вьетнамский |
1257 |
Балтийская |
1256 |
Арабский |
1255 |
Иврит |
1254 |
Турецкий |
1253 |
Греческий |
1252 |
Латиница 1 (ANSI) |
1251 |
Кириллица |
1250 |
Центрально-европейская |
950 |
Китайский (традиционный) |
949 |
Корейский |
936 |
Китайский (упрощенный) |
932 |
Японский |
874 |
Тайский |
850 |
Многоязычная (латиница 1MS-DOS) |
437 |
Английский США (MS-DOS) |
В некоторых параметрах сортировки используется одна и та же кодовая страница для данных, не относящихся к Юникоду. Например кодовая страница 1251 определяет набор символов кириллицы. Она может применяться в нескольких параметрах сортировки, таких как Cyrillic_General, Ukrainian и Macedonian_FYROM_90. Хотя эти параметры сортировки используют один набор битов для представления символьных данных, не относящихся к Юникоду, правила сортировки и сравнения немного отличаются. Поэтому они могут обрабатывать словарные определения правильной последовательности символов в языке или алфавите, связанном с этими параметрами сортировки.