При работе с Oracle в командной строке не отображаются кириллические символы, как быть? Языковые настройки Oracle клиента задаются с помощью переменной NLS_LANG:
NLS_LANG=<язык>_<территория>.<кодовая страница>
В операционной системе Windows, ее можно прописать в рееестре:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
Или выставить переменную окружения:
C:\>SET NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
Разница в том, что переменная окружения будет действительна на текущий сеанс пользователя.
Командная строка
При несоответствии кодовых страниц, заданной в NLS_LANG, и кодовой страницы, заданной для командной строки, русские сообщения отображаются некорректно.
C:\>SET NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
C:\>chcp
Текущая кодовая страница: 866
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on ╤Ё ╠рщ 5 21:15:21 2008
В таком случае меняем или NLS_LANG
C:\>SET NLS_LANG=RUSSIAN_CIS.RU8PC866
C:\>chcp
Текущая кодовая страница: 866
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Вс Окт 5 21:20:11 2008
либо кодовую страницу для DOS консоли
C:\>SET NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
C:\>chcp 1251
Текущая кодовая страница: 1251
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Вс Окт 5 21:27:28 2008
Рекоммендуется делать настройки для текущей консоли, чтобы избежать каких либо проблем и конфликтов с другим ПО.