FAQ:Oracle:изменить кодировку

Материал из Весельчак У
Версия от 18:25, 20 января 2010; RXL (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Предположим Вы хотите установить кодировку AL32UTF8.

Нужно узнать, присутствует ли необходимая вам кодировка в списке допустимых:

SQL> SELECT VALUE FROM V$NLS_VALID_VALUES
          WHERE parameter='CHARACTERSET'
          AND VALUE LIKE 'AL%'

Допустим Вы имеете WE8ISO8859P1, и хотите изменить ее на AL32UTF8.

SQL> SELECT * FROM props$ WHERE name='NLS_CHARACTERSET';
 
NLS_CHARACTERSET 
----------------
WE8ISO8859P1

для это обновляем таблицу, на необходимую кодировку

SQL> UPDATE props$ SET VALUE$='AL32UTF8' WHERE name='NLS_CHARACTERSET';

PROPS$ - это fixed table, где хранится информация об NLS и не только. Несмотря на термин fixed многие версии Oracle позволяют производить UPDATE над ней (хотя не все - какие-то версии Personal Oracle не допускают этого).