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

Изменение characterset клиентского приложения.

8 views
Skip to first unread message

Anatoly V. Gerasimov

unread,
May 9, 2007, 3:12:20 AM5/9/07
to
Hello All,

Захотелось мне определённости с кодировкаами. Действительно, Oracle
поддерживает много языков, кодировок которые можно применять в приложениях.
Причем, изменять эти настройки можно многочисленными путями что делает
результат не таким уж и предсказуемым. Довольно универсальный метод,
определить тем или иным способом NLS_LANG, например, RUSSIAN_CIS.RU8PC866.
Hапример, перед вызовом sqlplus, выполняющего SQL скрипт. Однако, существует
интегрированая система батников, использующая различные SQL скрипты как
плагины и определяющая NLS_LANG=AMERICAN_CIS.CL8MSWIN1251 и скрипт должен
быть использован внутри этой системы. В таком случае, было бы разумно
установить языковые настройки непосредственно изнутри SQL скрипта. LANGUAGE
и TERRITORY меняются легко но способа изменить CHARACTERSET я не нашел. Из
объяснений старшего специалиста я понял, что charset задается при создании
пользовательской сессии и изменить его нельзя. Как можно решить/обойти
проблему?
И второй вопрос: Использую ODBC Microsoft драйвер для Oracle из Perl
скрипта. Перед выполнением скрипта задаю требуемый NLS_LANG. Однако,
проверив параметры сессии обнаруживаю что опять же, language и territory
поменялись, но characterset остался CL8MSWIN1251. Та же самая проблема? Что
можно придумать здесь чтобы разные скрипты могли использовать разные
charsets?
Бардак с кодировками связан с желанием использовать одну и ту же систему для
решение существенно разных задач.

WBR Anatoly


Sergey Zakharov

unread,
May 10, 2007, 2:29:58 AM5/10/07
to
Hello Anatoly!

AG> characterset остался CL8MSWIN1251. Та же самая проблема? Что можно
AG> придумать здесь чтобы разные скрипты могли использовать разные
AG> charsets?
AG> Бардак с кодировками связан с желанием использовать одну и ту же
AG> систему для решение существенно разных задач.

Решишь вопрос - сообщи в эху, плиз.
Hа АСП2.HЕТ СШарп та же проблема с кодировкой American_America.Iso8859P1

Пока здесь не очень помогли.

Best regards,
Sergey E-mail: zah.asu(сoбaкa)bmz.gomel.by

Anatoly Gerasimov

unread,
May 11, 2007, 4:37:42 AM5/11/07
to
Hello Sergey,

> AG> characterset остался CL8MSWIN1251. Та же самая проблема? Что можно
> AG> придумать здесь чтобы разные скрипты могли использовать разные
> AG> charsets?

> Решишь вопрос - сообщи в эху, плиз.
> Hа АСП2.HЕТ СШарп та же проблема с кодировкой American_America.Iso8859P1
>
> Пока здесь не очень помогли.

А какие вообще были/есть идеи на этот счёт? Причем, изменение глобальной
переменной окружения либо параметра в реестре NLS_LANG -
меняются language и terrirory но не characterset. Причем, перезагрузка
dllhost не помогает, т.е. драйвер не "не может" а "не хочет" сменить
mswin1251 на что другое...

WBR Anatoly

Anatoly Gerasimov

unread,
May 11, 2007, 6:27:48 AM5/11/07
to
"Anatoly Gerasimov" <Anatoly_...@p128.f113.n5070.z2.fidonet.org> wrote
in message news:4643...@p128.f113.n5070.z2.fidonet.org...
Тут я гоню.... Меняется charset.

≤╘┴Ў╔╙╠┴Ґ ≤╒╚╧╠г╘

unread,
May 11, 2007, 2:20:54 AM5/11/07
to
On Wed, 09 May 2007 15:12:20 +0800, "Anatoly V. Gerasimov" <ga...@list.ru>
wrote:

> Hello All,

> И второй вопрос: Использую ODBC Microsoft драйвер для Oracle из Perl
> скрипта. Перед выполнением скрипта задаю требуемый NLS_LANG. Однако,
> проверив параметры сессии обнаруживаю что опять же, language и territory
> поменялись, но characterset остался CL8MSWIN1251. Та же самая проблема?

В перле как задаёшь кодировку?

$ENV{NLS_LANG}='X_Y.CL8' ?

у меня так работает.

--
остаюсь искренне ваш,
Станислав Сухолёт

Anatoly Gerasimov

unread,
May 14, 2007, 12:51:57 AM5/14/07
to
Hello Станислав,
"Станислав Сухолёт" <ct...@osib.so-cdu.ru (уФБОЙУМБЧ уХИПМ?Ф)> wrote in
message news:1a50...@sukholetsi.odusb.so...
> From: ct...@osib.so-cdu.ru (≤╘┴Ў╔╙╠┴Ґ ≤╒╚╧╠г╘)

>
> В перле как задаёшь кодировку?
>
> $ENV{NLS_LANG}='X_Y.CL8' ?
>
> у меня так работает.
>
Совершенно верно. Я уже понял что во всех своих экспериментах смотрел
результат не там где надо.

WBR Anatoly.

0 new messages