Решение проблем с неверно заданной кодировкой. Параметр 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-кода для ген... 1510 просмотров Дэн Tue, 21 Nov 2017, 13:18:46
Управление томами Oracle ADVM ...
Управление томами Oracle ADVM ... 1116 просмотров Андрей Васенин Wed, 02 Dec 2020, 09:58:23
Как увеличить табличное простр...
Как увеличить табличное простр... 14146 просмотров Александров Попков Tue, 21 Nov 2017, 13:18:46
Композитное разделение Oracle
Композитное разделение Oracle 7434 просмотров Валерий Павлюков Tue, 21 Nov 2017, 13:32:50
Войдите чтобы комментировать