#character-encoding #sybase #database-administration #sap-ase
#кодировка символов #sybase #администрирование базы данных #sap-ase
Вопрос:
Я работаю над базой данных Sybase ASE и хотел бы знать кодировку символов (UTF8 или ASCII или что-то еще), используемую databae.
Какая команда показывает, какую кодировку символов использует база данных?
Ответ №1:
Команда, которую вы ищете, на самом деле является системной хранимой процедурой:
1> sp_helpsort
2> go
... snip ...
Sort Order Description
------------------------------------------------------------------
Character Set = 190, utf8
Unicode 3.1 UTF-8 Character Set
Class 2 Character Set
Sort Order = 50, bin_utf8
Binary sort order for the ISO 10646-1, UTF-8 multibyte encodin
g character set (utf8).
... snip ...
Из этого вывода мы видим, что этот конкретный сервер данных ASE был настроен с набором символов utf8
по умолчанию и порядком сортировки binary
по умолчанию ( bin_utf8
) . Это означает, что все данные хранятся как utf8
и все операции индексации / сортировки выполняются с использованием binary
порядка сортировки.
Имейте в виду, что ASE может выполнять преобразования набора символов (для чтения и записи) на основе конфигурации набора символов клиента. Хотя успешность указанных преобразований будет зависеть от рассматриваемых наборов символов (например, клиент, подключающийся к utf8
, может обнаружить, что многие символы не могут быть преобразованы для хранения на сервере данных, определенном с набором символов по умолчанию iso_1
).
Ответ №2:
С помощью запроса:
select
cs.name as server_character_set,
cs.description as character_set_description
from
master..syscharsets cs left outer join
master..sysconfigures cfg on
cs.id = cfg.value
where
cfg.config = 131
Пример вывода:
server_character_set character_set_description
utf8 Unicode 3.1 UTF-8 Character Set