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

Материал из Весельчак У

Перейти к: навигация, поиск

Предположим Вы хотите установить кодировку 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 не допускают этого).