Почему Oracle отображает??? для специальных персонажей, таких как åäö
Некоторое время назад мой PL/SQL перестал показывать символы åäö
,
Я попытался переустановить oracle_home_11g, PL/SQL очистил реестр, но проблема остается.
Кто-нибудь знает почему?
1 ответ
Скорее всего, это связано с несоответствием между набором символов NLS для конкретной локали и набором символов базы данных. Или же значение NLS_LANG неправильно установлено в переменной среды ОС.
Посмотрите, почему на моем клиенте отображаются нежелательные значения / специальные символы / вопросительные знаки?
- Ваш набор символов клиента не совпадает с набором символов базы данных.
Вы можете сравнить между:
-- locale-specific characterset
select value
from v$nls_parameters
where parameter = 'NLS_CHARACTERSET';
-- database characterset
select value
from nls_database_parameters
where parameter = 'NLS_CHARACTERSET';
Если вы видите несоответствие между ними, установите для набора символов NLS для конкретного языкового стандарта набор символов базы данных.
- Если вышеуказанные наборы символов совпадают, то вам нужно установить значение NLS_LANG в переменной среды ОС.
Для ОС Windows этот формат:
[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]
Следуйте инструкциям в документации по настройке NLS_LANG: Установка переменной среды NLS_LANG для баз данных Oracle