Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Русификация инструментов Oracle

1,103 views
Skip to first unread message

Надежда Носкова

unread,
Oct 20, 1999, 3:00:00 AM10/20/99
to
Операционная система: Windows NT Server
Регион: Россия
Продукт: Oracle 8.1.5, язык русский
Инструменты командной строки (svrmgrl, oradim) выдают при работе сообщения,
содержащие буквы латинского алфавита и графические значки. Возможно ли
настроить систему так, чтобы сообщения выдавались в читаемом виде?

Н.Носкова

Roman L. Podshivalov

unread,
Oct 20, 1999, 3:00:00 AM10/20/99
to Надежда Носкова
5 баллов.

--
romas

Igor Faershtein

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
Добрый день, Надежда.

мое мнение такое : ставить надо всегда английскую версию,
ставить - не значит криейтить базу.
базу криейтить можно с таким чарсетом - который вас устраивает

Я пологаю что:
{
проблема в файлах сообщений - (это вроде те, что msb).
если подобная проблема на клиенте, то можно

А. переустановить клиента

В. (не пробовал но можно попробовать)
установить на другого клиента английский вариант и потом
перекопировать файлы сообщений на первого клиента и подкрутить реестр
}

подойдет ли такой вариант для сервера - сказать не могу.

может можно попробовать удалить именно инструменты
и поставить английский их вариант, указав при запуске
инсталятора - English


Игорь

Надежда Носкова

Mikhail Elashkin

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
Насколько я бычу в медецине, то то что идет в дос окне идет в чем-то типа 866
таблицы, а русский действует только на виндовс программы. Похоже в штатах не в
курсе такой особенности виндов и гонят туда другую кодировку. Я это не вылечил.

"Надежда Носкова" wrote:

> Операционная система: Windows NT Server
> Регион: Россия
> Продукт: Oracle 8.1.5, язык русский
> Инструменты командной строки (svrmgrl, oradim) выдают при работе сообщения,
> содержащие буквы латинского алфавита и графические значки. Возможно ли
> настроить систему так, чтобы сообщения выдавались в читаемом виде?

--
WBR

Mikhail Elashkin
Marketing Manager, Oracle Russia

*************************************************************************
Ph. +7(095) 721-3235
Mob. +7(095) 761-8007
Fax +7(095) 258-4190
Oracle CIS +7(095) 258-4180
e-mail mela...@ru.oracle.com
*************************************************************************
Brain cells come and brain cells go, but fat cells live forever.

Dmitri Blinov

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
> Насколько я бычу в медецине, то то что идет в дос окне идет в чем-то типа 866
> таблицы, а русский действует только на виндовс программы. Похоже в штатах не в
> курсе такой особенности виндов и гонят туда другую кодировку. Я это не вылечил.

Немного уточню. Для DOS окна в WinNT можно указать CodePage ( команда
CHCP ),
и выбрать другой шрифт с поддержкой 1251 ( Lucida Console - по-моему ).

Возможно что комбинация этих параметров может дать желаемый результат.
Я таким образом вылечил ситуацию для 7.3



> > Операционная система: Windows NT Server
> > Регион: Россия
> > Продукт: Oracle 8.1.5, язык русский
> > Инструменты командной строки (svrmgrl, oradim) выдают при работе сообщения,
> > содержащие буквы латинского алфавита и графические значки. Возможно ли
> > настроить систему так, чтобы сообщения выдавались в читаемом виде?

Дмитрий.

Igor V. Podolsky

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
20-Oct-99 15:38 Надежда Носкова wrote:

НН> Операционная система: Windows NT Server
НН> Регион: Россия
НН> Продукт: Oracle 8.1.5, язык русский
НН> Инструменты командной строки (svrmgrl, oradim) выдают при работе сообщения,
НН> содержащие буквы латинского алфавита и графические значки. Возможно ли
НН> настроить систему так, чтобы сообщения выдавались в читаемом виде?

Есть такое дело. Настроить можно переключив язык сообщений на
англиийский. Побочный эффект: сообщения об ошибках тож по-английски
приходить будут. Надеюсь, что читаемый английский лучше нечитаемого русского ?
;)

Делается правкой Registry на каждой клиентской машине:
HKEY_LOCAL_MACHINE\Software\Oracle := 'AMERICAN_CIS.CL8MSWIN1251'. (насколько
я помню, у меня там было RUSSIAN_CIS.CL8MSWIN1251) По-моему, все, что до
точки влияет только на язык сообщений, все остальное (типа сортировок и
прочего) остается.


--
Is There A God Or Any Kind Of Justice Under The Sky... (Queen'91)

Igor V. Podolsky (igo...@soft-review.kiev.ua)

Mr. Vladimir V. Starkov

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
Я лечил это другим способом - в DOS окне перед запуском
утилиты делал
set NLS_LANG=AMERICAN_AMERICA.CL8PC866

Bobstar.

Dmitri Blinov пишет в сообщении <380EEFEB...@drb.com.ru> ...


>> Насколько я бычу в медецине, то то что идет в дос окне идет в чем-то типа
866
>> таблицы, а русский действует только на виндовс программы. Похоже в штатах
не в
>> курсе такой особенности виндов и гонят туда другую кодировку. Я это не
вылечил.
>
>Немного уточню. Для DOS окна в WinNT можно указать CodePage ( команда
>CHCP ),
>и выбрать другой шрифт с поддержкой 1251 ( Lucida Console - по-моему ).
>
>Возможно что комбинация этих параметров может дать желаемый результат.
>Я таким образом вылечил ситуацию для 7.3
>

>> > Операционная система: Windows NT Server

>> > Регион: Россия


>> > Продукт: Oracle 8.1.5, язык русский

>> > Инструменты командной строки (svrmgrl, oradim) выдают при работе
сообщения,

>> > содержащие буквы латинского алфавита и графические значки. Возможно ли

>> > настроить систему так, чтобы сообщения выдавались в читаемом виде?
>

>Дмитрий.

Yevgeniy Tourchuk

unread,
Oct 21, 1999, 3:00:00 AM10/21/99
to
Я ставлю в registry NLS_LANG=american_america.cl8mswin1251, тогда все сообщения
по-английски (кардинальное решение проблемы). Если все же хочется по-русски, то
в каждой DOS-сессии, откуда запускаются svrmgrl, oradim надо
C:\> set NLS_LANG=russian_cis.ru8pc866
или оформить это в bat файл (только не в autoexec.bat, а то все графическое
окосеет).

А вот в версии 7.x.x в registry наряду с NLS_LANG был параметр
NLS_LANG_CONSOLE, задававший отдельно язык для DOS-приложений. Может кто знает
куда он в 8-ке трансформировался.

"Надежда Носкова" wrote:

> Операционная система: Windows NT Server
> Регион: Россия
> Продукт: Oracle 8.1.5, язык русский
> Инструменты командной строки (svrmgrl, oradim) выдают при работе сообщения,
> содержащие буквы латинского алфавита и графические значки. Возможно ли
> настроить систему так, чтобы сообщения выдавались в читаемом виде?
>

> Н.Носкова


Pavel Kichigin

unread,
Oct 22, 1999, 3:00:00 AM10/22/99
to

Надежда Носкова <snb...@komitex.ru> wrote in message
news:7ukd14$5...@komitex.komitex.ru...

> Операционная система: Windows NT Server
> Регион: Россия
> Продукт: Oracle 8.1.5, язык русский
> Инструменты командной строки (svrmgrl, oradim) выдают при работе
сообщения,
> содержащие буквы латинского алфавита и графические значки. Возможно ли
> настроить систему так, чтобы сообщения выдавались в читаемом виде?
>
> Н.Носкова
set NLS_LANG=RUSSIAN_CIS.CL8PC866 (сообщения на русском)
AMERICAN_AMERICA.CL8PC866( на английском)


Vyacheslav A. Sirotenko

unread,
Oct 23, 1999, 3:00:00 AM10/23/99
to
Вот, из FAQ:


Вопрос:
> стоит сервер Oracle.
> Язык указан - Eglish. Если пополняю базу под SQL*plus,
> все русские записи остаются русскими. Как только пишу прогу на Delphi 3,
> все русские буквы заменяются знаком вопроса.
> Кто знает, дело в настойках Delphi (в драйвере BDE)
> или из-за того, что язык указан English?

Ответ:
Клиент понимает русский язык, а сервер
пытается преобразовать данные в свою кодировку
и не находит соответсвующих символов,
поэтому подставляет знаком вопроса

Наверняка в переменной NLS_LANG значение CHARACTERSET не согласоуется с
CHARACTERSET БД
Проверьте значение переменной NLS_LANG в REGISTRY
в разделе HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
NLS_LANG подчиняется правилу
<Язык>_<Территория>.<Кодировка>
где
<Язык> - язык сообщений
<Территория> - NLS параметры - представление дат, разделителей и т.п. по
умолчанию
и СОРТИРОВКА ! Но можно задать отдельно NLS_SORT
<Кодировка> - CHARACTERSET в котором работает клиент и желает видеть и
вводить данные

Возможные установки CHARACTERSET для кириллицы на клиенте

PARAMETER VALUE
-------------------- --------------------
LANGUAGE RUSSIAN
LANGUAGE AMERICAN
TERRITORY CIS - (СНГ)
CHARACTERSET CL8ISO8859P5 - ISO Cirillic
CHARACTERSET RU8PC866 - DOS 866
CHARACTERSET RU8BESTA - Unix KOI8r
CHARACTERSET RU8PC855 - Unix Cirillic
CHARACTERSET CL8MACCYRILLIC - MAC Cirillic
CHARACTERSET CL8MACCYRILLICS - MAC Cirillic
CHARACTERSET CL8MSWIN1251 - Win95/NT
CHARACTERSET CL8KOI8R - KOI8r

Возможные установки CHARACTERSET для английского языка на клиенте

PARAMETER VALUE
-------------------- --------------------
LANGUAGE AMERICAN
TERRITORY AMERICA
CHARACTERSET WE8ISO8859P1 - ISO english
CHARACTERSET US7ASCII - 7bit english

Возможные установки языковых параметров сервера БД для кириллицы

select * from sys.V_$NLS_VALID_VALUES;

PARAMETER VALUE
-------------------- --------------------
LANGUAGE RUSSIAN
TERRITORY CIS
CHARACTERSET CL8ISO8859P5 - Unix, OS/2
CHARACTERSET RU8PC866 - Unix
CHARACTERSET RU8BESTA - Unix
CHARACTERSET RU8PC855 - Unix
CHARACTERSET CL8MACCYRILLIC - MAC
CHARACTERSET CL8MACCYRILLICS - MAC
CHARACTERSET CL8MSWIN1251 - NT
CHARACTERSET CL8KOI8R - Unix
SORT RUSSIAN

При создании БД выбирай кодировку из приведенных

пример использования:
CREATE DATABASE DTRA
LOGFILE ('/export/home/oracle7/dbs/log1DTRA.dbf') SIZE 500K,
('/export/home/oracle7/dbs/log2DTRA.dbf') SIZE 500K,
('/export/home/oracle7/dbs/log3DTRA.dbf') SIZE 500K
MAXLOGFILES 5
MAXLOGHISTORY 100
DATAFILE '/export/home/oracle7/dbs/sysDTRA.dbf' SIZE 100M
MAXDATAFILES 100
MAXINSTANCES 2
NOARCHIVELOG
EXCLUSIVE
CHARACTER SET CL8ISO8859P5 <-- вот она кодировка
/
----------------------------------------------------------------------------
----
Вопрос:
Поставил O8 фор НТ Интерпрайз (8.0.4).
При установки он спросил: Рашен? Я: Да!
Он и поставил рашен :(.

Все бы хорошо, но видать, он не в курсе, что у рашен
две кодировки: одна - в консоле, одна в - гуях.
В общем в консольных утилитах работать невозможно:
он все в 1252 кодировке написать пытается. Это лечиться?

Если нет, можно ли сменить язык не переставляя?
Ответ:
1.set NLS_LANG=RUSSIAN_CIS.RU8PC866
plus80.exe
set NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251

2.Можно
\HKEY_LOCAL_MACHINE\Software\ORACLE\NLS_LANG =
"AMERICAN_AMERICA.CL8MSWIN1251"
все сообщения и другие тексты на английском

3.
Поставь (для Вин):
HKEY_LOCAL_MACHINE\Software\ORACLE\
NLS_LANG = "AMERICAN_AMERICA.CL8MSWIN1251" или
NLS_LANG="RUSSIAN_CIS.CL8MSWIN1251"

А в Дос запускай через батничек, допустим o.bat:

set nls_lang=russian_cis.ru8pc866
%1 %2 %3 %4 %5 %6 %7 %8 %9

c:\>o sqlplus scott/tiger@orcl
----------------------------------------------------------------------------
----
Вопрос :
Как сделать так чтобы SQL*Plus33 не выдавал вместо
сообщений на русском языке всякую ересь ?

Ответ :
С помощью бинарного редактора из VC (Волков командер) отредактировал
файл для SQL*Plus Release 3.3.4.0.0 С:\ORANT\PLUS33\spwru.msb (там
кодировка Windows для SQL*Plus33)
изменив первую строчку на 03 0C 23 0D 13 17 09 0E 1C 1D 20 1C 00 00 00 00
(Windows) и получил при запуске PLUS33W.EXE
и меню, и все сообщения ("присоединен к", описание ошибки) в правильной
кодировке.
Эти символы годятся и для SQL Plus 8.0.
----------------------------------------------------------------------------
----
Тема : Русификация сообщений русского Оракла
Вопрос :
Подскажите как сделать сабж.
Оракл седьмой или восьмой.
При установке клиенской части - язык русский.
С русскими буквами при работе с БД нет проблем.
Только системные сообщения - на абракадабре.
Помню есть какой-то файл на клиенте, в котором
надо тупо заменить несколько байт.
Подскажите какой файл и какие именно байты.

Ответ :
Практически со всеми подверсиями Developer/2000, "Language Supplement,
Russian"
идет с ошибками: кодировка прописанная в начале некоторых файлов *.msb не
соответствует той кодировке в которой эти сообщения реально хранятся в этих
файлах.
Сообщения перекодируются из кодировки msb-файла в кодировку указанную в
NLS_LANG
и естественно, для неправильных *.msb, вместо русского текста идет
"китайская грамота".
Это можно исправить любым бинарным редактором,
заменив первую строчку на правильную.

для кодировки MSWIN1251:
03 0C 23 0D 13 17 09 0E 1C 1D 20 1C 00 00 00 00

для кодировки ISO:
03 0C 23 09 13 0F 23 23 20 24 10 20 00 00 00 00

для кодировки PC866:
12 15 23 10 03 23 21 21 00 00 00 00 00 00 00 00


--
Мавай!
/ \__| \/ |
HUNGRY (_ =(00)=
JAM / \ / \

i...@utg.gazprom.ru

unread,
Oct 25, 1999, 3:00:00 AM10/25/99
to

Yevgeniy Tourchuk <ETou...@microtest.ru> wrote:
>А вот в версии 7.x.x в registry наряду с NLS_LANG был параметр
>NLS_LANG_CONSOLE, задававший отдельно язык для DOS-приложений. Может кто знает
>куда он в 8-ке трансформировался.
Возможно, это связано с изменением обработки NLS - в O7
преобразование делалось в SQL*Net, а в восьмерке
делается сервером.
PS Но я что-то не нашел в 7.3.3 NLS_LANG_CONSOLE. А жаль...
В какой версии она была ?

Олег Иванчук.

0 new messages