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

dbstalker, 23 января

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


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 .

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

 

Новый комментарий

Я не спамер: введите суму 8+7



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Требуется бухгалтер
21 августа, 1 ответа