Кодировка соединения по умолчанию
Функция
Определение оператора задания кодировки, используемой клиентским приложением по умолчанию для текущего соединения с БД.
Спецификация
::=
Общие правила
-
Для использования команды в БД должна быть создана и загружена необходимыми данными системная таблица кодировок $$$CHARSET.
-
< Имя кодировки >
задает кодировку, которая будет применяться клиентским приложением по умолчанию в том соединении с БД, по которому подана командаSET NAMES
. -
Если
< кодировка соединения по умолчанию >
не задана (после установления соединения с БД), выбор кодировки соединения выполняется по следующим правилам:-
если определена переменная окружения
LINTER_CP
, то используется определяемая этой переменной кодировка; -
если переменная
LINTER_CP
не определена, используется текущая кодировка операционной системы, в которой работает клиентское приложение.
-
-
< Кодировка соединения по умолчанию >
может быть установлена в любой момент выполнения соединения с БД и остается неизменной до отсоединения от БД или до изменения ее другой< кодировкой соединения по умолчанию >
. -
Команда
SET NAMES
позволяет создавать по умолчанию все таблицы и символьные столбцы в них в указанной кодировке, потому что при создании таблиц (столбцов) используется следующий приоритет выбора кодировки:-
используется кодировка, заданная для таблицы или столбца непосредственно в SQL-запросе (
CREATE TABLE
,ALTER TABLE ADD COLUMN
и т.п.) – если задана; -
иначе кодировка, заданная для канала по
SET NAMES
– если задана; -
иначе кодировка, заданная для БД по
SET DATABASE DEFAULT CHARACTER SET
– если задана; -
иначе кодировка, заданная для канала другим способом (например, через переменную среды окружения LINTER_CP).
-
Пример
set names CP866;