Специальные наборы символов

Специальные наборы символов

Основное правило для наборов символов то, что каждый байт (пара или тройка байтов в случае многобайтовых наборов) специально определен по стандарту его реализации. Существует четыре особых исключения - NONE, OCTETS, ASCII и UNICODE FSS. В табл. 11.1 показаны специальные свойства этих наборов.

Таблица 11.1. Специальные наборы символов

Имя

Свойства

NONE

Каждый байт является частью строки, но не имеется никаких предположений, к какому набору символов он принадлежит. Код клиентской стороны или определенный пользователем на сервере код является ответственным за правильность символа

OCTETS

Байты, которые не интерпретируются как символы. Полезен для хранения двоичных данных

ASCII

Значения 0-127 определены как ASCII. Значения за пределами этого диапазона не являются символами, но поддерживаются. Firebird совершенно либерален относительно транслитерации байтов в диапазоне 0-127 символов ASCII

UNICODE_FSS

Разработчикам нужно знать, что он эффективен при реализации UTF8. Пользователям нужно знать, что он может быть использован для хранения символов UCS16, но не UCS32 (может занимать до шести байтов на символ). Недоступна ни одна последовательность сортировки, кроме двоичной последовательности по умолчанию

ISO8859_1 (LATIN_1) и WIN1252

Набор символов ISO8859_1 часто указывается для поддержки европейских языков. ISO8859_1, также известный как LATIN1, является истинным подмножеством WIN 1252. Microsoft добавил символы в позиции, которые ISO специфицировал как не являются символами (не "неопределенные", но указанные как "не символы"). Firebird поддерживает как WIN 1252, так и ISO8859_1. Вы всегда можете выполнить транслитерацию из ISO8859_1 в WIN 1252, но транслитерация WIN 1252 в ISO8859_1 может вызвать ошибки.

Наборы символов для Microsoft Windows

Пять наборов символов поддерживают приложения клиентов Windows, такие как Paradox for Windows. Это наборы символов WIN1250, WIN1251, WIN1252, WIN1253 и WIN 1254.

Благодаря историческим связям Borland с Paradox и dBase, имена последовательностей сортировки этих наборов символов, специфичных для Paradox for Windows, начинаются с "PXW" и соответствуют языковым драйверам Paradox/dBase, поставляемым с ныне устаревшим Borland Database Engine (BDE).

Понимание наборов символов WINnnn

Последовательности сортировки PXW действительно реализуют сортировку для Paradox и dBase, включая все ошибки. Одно исключение: PXW_CSY исправлен в Firebird 1.0. Следовательно, базы данных InterBase, которые его используют, например в индексах, не являются совместимыми с Firebird.

Более подробную информацию о наборах символов Windows и сортировках Paradox for Windows см. в соответствующей документации по BDE и драйверам.

Список международных наборов символов и последовательностей сортировки, поддерживаемые Firebird, см. в приложении 8.