Решение проблем с неверно заданной кодировкой. Параметр NLS_CHARACTERSET

Для начала нужно проверить, есть ли нужная нам кодировка в списке доступных. Сделаем это с помощью  SQL-запроса (команды):

select value from V$NLS_VALID_VALUES where parameter='CHARACTERSET'
and value like 'RU%'  
VALUE 
RU8PC866
RU8BESTA
RU8PC855
RU8PC866TAXEXT1

Текущие установки NLS БД можно просмотреть используя следующую команду:

select * from NLS_DATABASE_PARAMETERS where parameter='NLS_CHARACTERSET'

или

select name, substr(value$, 1, 30) from props$ where name = 'NLS_CHARACTERSET' 

Предположим, что эти запросы показали, что текущее значение WE8ISO8859P1. А для корректной рабочие мероприятия вашего программного обеспечения должно быть CL8MSWIN1251. Выполним команду:

 update props$ set VALUE$='CL8MSWIN1251' where name='NLS_CHARACTERSET'; 
 
commit; 

Не забудьте поменять на самом сервере и на всех клиентах переменную среды NLS_LANG .

И будет вам счастье.

Вас заинтересует / Intresting for you:

Использование SQL-кода для ген...
Использование SQL-кода для ген... 1504 просмотров Дэн Tue, 21 Nov 2017, 13:18:46
Управление томами Oracle ADVM ...
Управление томами Oracle ADVM ... 1111 просмотров Андрей Васенин Wed, 02 Dec 2020, 09:58:23
Как увеличить табличное простр...
Как увеличить табличное простр... 14078 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Oracle database link - управле...
Oracle database link - управле... 32402 просмотров Игорь Воронов Sat, 01 Dec 2018, 06:20:52
Войдите чтобы комментировать