Налаштування NLC_LANG для клієнта Oracle, StasyakOFF Blog

Налаштовуємо NLS_LANG для PLSQL Developer

Симптоми: є таблиця, в таблиці додані записи з кирилицею (не через PLSQL Developer). При запиті цих записів – кирилиця відображається коректно. Але якщо кирилицю вставимо ми зі свого PLSQL Developer, то при запиті цих записів отримаємо замість кирилиці - знаки питання. Це вірна ознака того, що щось не так з змінною NLS_LANG.

Для діагностики проблеми необхідно включити перевірку кодування в PLSQL Developer

stasyakoff
Малюнок 1.

stasyakoff
Малюнок 2.

Намагаємось підключитися до бази. У мене з'явилося таке корисне попередження:

oracle
Малюнок 3.

Залишалося додати NLS_LANG у вигляді змінного оточення. Після перезапуску plsql developer все запрацювало як слід.

клієнта
Малюнок 4.

Для довідки: Щоб подивитися поточне кодування БД треба виконати в plsql developer в меню File->New->SQL Window команду SELECT * FROM NLS_DATABASE_PARAMETERS;

Кодування клієнта: SELECT * FROM NLS_SESSION_PARAMETERS;

Синтаксис змінної NLS_LANG: _ . де - мова повідомлень - NLS параметри - подання дат, роздільників тощо. за умовчанням і СОРТУВАННЯ ! Але можна задати окремо NLS_SORT - CHARACTERSET у якому працює клієнт і бажає бачити та вводити дані