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

FAQ и русский язык

64 views
Skip to first unread message

Andrey Konovalov

unread,
Nov 18, 1999, 3:00:00 AM11/18/99
to
Здравствуйте!
Есть два вопроса.
1. Где найти FAQ по Oracle?
2. Ставлю себе Oracle client и выбираю язык - русский.
После запуска SQL Plus 8.0 в раскрывающемся окне вижу кракозябры.
Как победить?
Спасибо.

С уважением,
Андрей Коновалов.


Artem V. Kabannik

unread,
Nov 18, 1999, 3:00:00 AM11/18/99
to
Andrey Konovalov <Kono...@zgrk.com.ua> wrote:
: После запуска SQL Plus 8.0 в раскрывающемся окне вижу кракозябры.

Все зависит от кодировки базы, и кодировки на стороне клиента
попробуй поставить у себя (если клиент под виндой) переменную окружения
NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251

Удачи,
Тема

Leonid Boitsov

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
> Все зависит от кодировки базы, и кодировки на стороне клиента
> попробуй поставить у себя (если клиент под виндой) переменную окружения
> NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
>

Маленькая поправки: от кодировке на стороне базы, имхо, ничего не зависит.
Оракл сам перекодирует из одной кодировки в другую в соответствии с
кодировка на клиенте и серевере.
Зависит от кодировки клиента. Если клиент виндвз, то надо выставлять не
переменную окружения, а найти в реестре все вхождения NLS_LANG и поменять
ее. Кажется в предыдущем письме правильные значения указаны.

Леонид.

Artem V. Kabannik

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
Leonid Boitsov <l...@alconssoft.ru> wrote:
:> Все зависит от кодировки базы, и кодировки на стороне клиента

:> попробуй поставить у себя (если клиент под виндой) переменную окружения
:> NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251
:>

: Маленькая поправки: от кодировке на стороне базы, имхо, ничего не зависит.

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

: Оракл сам перекодирует из одной кодировки в другую в соответствии с


: кодировка на клиенте и серевере.
: Зависит от кодировки клиента. Если клиент виндвз, то надо выставлять не
: переменную окружения, а найти в реестре все вхождения NLS_LANG и поменять
: ее. Кажется в предыдущем письме правильные значения указаны.

У меня виндовый sqlplus заговорил по-русски даже без изменений в регистрах,
но я согласен, для уверенности лучше поменять NLS_LANG в регистрах тоже.


Тема


Vladimir Petrov

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
Привет !

> Зависит от кодировки клиента. Если клиент виндвз, то надо выставлять не
> переменную окружения, а найти в реестре все вхождения NLS_LANG и поменять
> ее. Кажется в предыдущем письме правильные значения указаны.
>
> Леонид.

Я себе поставил Персональный Оракл 8.0.3 и имею теже проблемы.
Так вот в реестре стоит RUSSIAN_CIS.CL8MSWIN1251 (в БД тоже.)
Русский текст (1251 через SQLPlus) нормально попадает в БД и обратно.
У SQLPlus интерфейс в кракозябах. Сообщения он сервера видно нормально.
Все консольные утилиты в кракозябах.
В реестр ставим RUSSIAN_CIS.RU8PC866.
У plus80 - все ok.
Русский текст (866 через plus80) нормально попадает в БД и обратно.
Все (или по крайней мере SVRMGR30.EXE и SQLLDR80.EXE )
остальные консольные утилиты в кракозябах.
В принципе можно и дальше перебирать - у Oracle русских кодировок много.....
НО как же сделать правильно ? Так чтоб везде показывало ?
И чтоб в базе текст зранился в 1251 (RUSSIAN_CIS.CL8MSWIN1251) ?

Кто знает ?

Спасибо.

Владимир.


Andrey Konovalov

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
"Artem V. Kabannik" wrote:

> Все зависит от кодировки базы, и кодировки на стороне клиента
> попробуй поставить у себя (если клиент под виндой) переменную окружения
> NLS_LANG=RUSSIAN_CIS.CL8MSWIN1251

Здравствуйте!
У меня прописано в oracle.ini NLS_LANG=RUSSIAN.RU8PC866.
Это не верно?


Deev Iliya

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
> Маленькая поправки: от кодировке на стороне базы, имхо, ничего не зависит.
> Оракл сам перекодирует из одной кодировки в другую в соответствии с
> кодировка на клиенте и серевере.
> Зависит от кодировки клиента. Если клиент виндвз, то надо выставлять не
> переменную окружения, а найти в реестре все вхождения NLS_LANG и поменять
> ее.
Та же проблема.
Попробовал - ничего не получается. Так вопросами и шпарит вместо русского, даже после занесения новых данных и их
прочтения. Казалось бы - уж новые данные должен клиент читать. Ан нет!

С уважением,
Деев Илья.


Artem V. Kabannik

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
Andrey Konovalov <Kono...@zgrk.com.ua> wrote:
: "Artem V. Kabannik" wrote:

Во-первых, по-моему желательно еще указать территорию (у нас это CIS --
СНГ), во-вторых RU8PC866 -- это досовская кодировка, и в виндах будут всякие
чертики, так что надо ставить CL8MSWIN1251 для виндовых клиентов, хотя
досовские утилиты в этом случае пишут абракадабру :(((

Там в Оракле они похоже и не подозревают, что у нас две кодировки приходится
использовать одновременно...

Тема

Sergey Bezrukov

unread,
Nov 19, 1999, 3:00:00 AM11/19/99
to
Не проще в реестре поставить American_CIS.CL8MSWIN1251 ?

Vladimir Petrov <v...@rnivc.kis.ru> сообщил в новостях

> Русский текст (1251 через SQLPlus) нормально попадает в БД и обратно.
> У SQLPlus интерфейс в кракозябах. Сообщения он сервера видно нормально.
> Все консольные утилиты в кракозябах.
> В реестр ставим RUSSIAN_CIS.RU8PC866.
> У plus80 - все ok.
> Русский текст (866 через plus80) нормально попадает в БД и обратно.
> Все (или по крайней мере SVRMGR30.EXE и SQLLDR80.EXE )
> остальные консольные утилиты в кракозябах.
> В принципе можно и дальше перебирать - у Oracle русских кодировок
много.....

Не проще ли в реестре поставить NLS_LANG=American_CIS.CL8MSWIN1251 ?

> Владимир.
>


--
Best regards.
Bezrukov Sergey.
Billing Centre of Moscow Long Distance & International Telephone JSC.
e-mail : se...@soi3.mmtel.ru http://soi3.mmtel.ru
Tel. (095) 3396700 Fax. (095) 3370001

Vladimir Petrov

unread,
Nov 20, 1999, 3:00:00 AM11/20/99
to

Sergey Bezrukov <se...@soi3.mmtel.ru> пишет в
сообщении:813tnp$knf$1...@ddt.demos.su...

> Не проще в реестре поставить American_CIS.CL8MSWIN1251 ?

Спасибо.
Так нормально.
Владимир.


Anton Demidov

unread,
Nov 23, 1999, 3:00:00 AM11/23/99
to
Vladimir Petrov wrote in message <8163rf$8do$1...@ddt.demos.su>...


И поиметь проблемы с неправильной сортировкой русских букв и неверной
работой UPPER()
подсказка - сделай
select upper('чюя') from dual

Это уже проходило в эхе - база должна быть в cl8mswin1251.
На клиенте в реестре так же. Если интерфейс SQL Plus (или еще чего) в
"крякозяблах" - либо искать правильный NLB файл либо отказаться от русского
интерфейса установкой
NLS_LANG=AMERICAN_AMERICA.cl8mswin1251

С консольными приложениями разговор особый. Они считают, что являются
виндовыми приложениями (кодировка 1251), а сами выводят в ДОСе (866).
Как лечить - либо дать текстовому окну нормальный фонт, либо найти
работающую версию консольной программы
--
С многоуважением
Антон Демидов


Vladimir Petrov

unread,
Nov 25, 1999, 3:00:00 AM11/25/99
to
Привет !
Anton Demidov <a...@ruir.com> пишет в
сообщении:94337433...@relay.directnet.ru...

> Vladimir Petrov wrote in message <8163rf$8do$1...@ddt.demos.su>...
> >Sergey Bezrukov <se...@soi3.mmtel.ru> пишет в
> >сообщении:813tnp$knf$1...@ddt.demos.su...
> >> Не проще в реестре поставить American_CIS.CL8MSWIN1251 ?
> >Спасибо.
> >Так нормально.
> >Владимир.
>
> И поиметь проблемы с неправильной сортировкой русских букв и неверной
> работой UPPER()
> подсказка - сделай
> select upper('чюя') from dual

SQL> run;
1* select upper('зоп') from dual

UPP
---
ЗОП

SQL> select upper('чюя') from dual;

UPP
---
ЧЮЯ

А что должно быть ? Ж, Х ? :)

Я себе поставил:
NLS_LANG = American_CIS.CL8MSWIN1251
American - интерфейс клиента и сообщения сервера теперь на английском.
CIS - формат зависящих от страны вещей типа даты я хочу правильный.
CL8MSWIN1251 - БД создана в 1251 и данные я туда заношу в 1251.
Вроде все так.

<cute>


--
> С многоуважением
> Антон Демидов

Владимир.


0 new messages