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 не допускают этого).