Как отобразить кириллицу при работе в командной строке?

Источник: all-oracle

Рекомендовано для:
  • Oracle Database 8i
  • Oracle Database 9i R1
  • Oracle Database 9i R2
  • Oracle Database 10g R1
  • Oracle Database 10g R2
  • Oracle Database 11g R1
 

При работе с 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

Рекоммендуется делать настройки для текущей консоли, чтобы избежать каких либо проблем и конфликтов с другим ПО.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=20769