Почему Oracle отображает??? для специальных персонажей, таких как åäö

Некоторое время назад мой PL/SQL перестал показывать символы åäö,

Я попытался переустановить oracle_home_11g, PL/SQL очистил реестр, но проблема остается.

picture1picture2

Кто-нибудь знает почему?

1 ответ

Скорее всего, это связано с несоответствием между набором символов NLS для конкретной локали и набором символов базы данных. Или же значение NLS_LANG неправильно установлено в переменной среды ОС.

Посмотрите, почему на моем клиенте отображаются нежелательные значения / специальные символы / вопросительные знаки?

  1. Ваш набор символов клиента не совпадает с набором символов базы данных.

Вы можете сравнить между:

-- 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 для конкретного языкового стандарта набор символов базы данных.

  1. Если вышеуказанные наборы символов совпадают, то вам нужно установить значение NLS_LANG в переменной среды ОС.

Для ОС Windows этот формат:

[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Следуйте инструкциям в документации по настройке NLS_LANG: Установка переменной среды NLS_LANG для баз данных Oracle

Другие вопросы по тегам