Кодировка соединения по умолчанию

Функция

Определение оператора задания кодировки, используемой клиентским приложением по умолчанию для текущего соединения с БД.

Спецификация
   
< кодировка соединения по умолчанию >::=
Общие правила
  1. Для использования команды в БД должна быть создана и загружена необходимыми данными системная таблица кодировок $$$CHARSET.

  2. < Имя кодировки > задает кодировку, которая будет применяться клиентским приложением по умолчанию в том соединении с БД, по которому подана команда SET NAMES.

  3. Если < кодировка соединения по умолчанию > не задана (после установления соединения с БД), выбор кодировки соединения выполняется по следующим правилам:

    • если определена переменная окружения LINTER_CP, то используется определяемая этой переменной кодировка;

    • если переменная LINTER_CP не определена, используется текущая кодировка операционной системы, в которой работает клиентское приложение.

  4. < Кодировка соединения по умолчанию > может быть установлена в любой момент выполнения соединения с БД и остается неизменной до отсоединения от БД или до изменения ее другой < кодировкой соединения по умолчанию >.

  5. Команда SET NAMES позволяет создавать по умолчанию все таблицы и символьные столбцы в них в указанной кодировке, потому что при создании таблиц (столбцов) используется следующий приоритет выбора кодировки:

    • используется кодировка, заданная для таблицы или столбца непосредственно в SQL-запросе (CREATE TABLE, ALTER TABLE ADD COLUMN и т.п.) – если задана;

    • иначе кодировка, заданная для канала по SET NAMES – если задана;

    • иначе кодировка, заданная для БД по SET DATABASE DEFAULT CHARACTER SET – если задана;

    • иначе кодировка, заданная для канала другим способом (например, через переменную среды окружения LINTER_CP).

Пример
set names CP866;