Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 Локали dbaccess и прочего ПО  [new]
londinium
Member

Откуда: Киев
Сообщений: 1181
Здравствуйте, Господа

Есть Windows Server 2003 R2 EE Rus, на него поставлен Informix Dynamic Server 11.50 TC4DE и Informix Client SDK 3.50. С помощью dbaccess создана база данных с локалью ru_ru.1251, что подтверждает выполнение запроса

select * from sysdbslocale


dbs_dbsname                               dbs_collate

taxi                                             ru_RU.1251


В SetNet32 сделаны такие настройки

CLIENT_LOCALE=ru_ru.1251
DB_LOCALE=ru_ru.1251
DBMONEY=.
GL_DATE=%d.%m.%Y


Сервер стартует с помощью такого батника:

set INFORMIXDIR=C:\PROGRA~1\IINFOR~1
set INFORMIXSERVER=ol_svr_custom
set ONCONFIG=ONCONFIG.ol_svr_custom
set PATH=C:\PROGRA~1\IINFOR~1\bin;%PATH%
set CLASSPATH=%INFORMIXDIR%\extend\krakatoa\krakatoa.jar;%INFORMIXDIR%\extend\krakatoa\jdbc.jar;%CLASSPATH%
set DBTEMP=C:\PROGRA~1\IINFOR~1\infxtmp

rem Setting up locales ru-ru

set CLIENT_LOCALE=ru_ru.1251
set DB_LOCALE=ru_ru.1251
set DBMONEY=.
set GL_DATE=%%d.%%m.%%Y

rem changing server locale is not recommended

set SERVER_LOCALE=EN_US.CP1252
set DBLANG=EN_US.CP1252

rem START IDS

oninit


В результате таких телодвижений утилиты SQL Explorer от Delphi и Aqua Data Studio нормально выполняют запрос и выдают результаты на русском языке,
а вот dbaccess, запускаемый батником:

set INFORMIXDIR=C:\PROGRA~1\IINFOR~1
set INFORMIXSERVER=ol_svr_custom
set ONCONFIG=ONCONFIG.ol_svr_custom
set PATH=C:\PROGRA~1\IINFOR~1\bin;%PATH%
set CLASSPATH=%INFORMIXDIR%\extend\krakatoa\krakatoa.jar;%INFORMIXDIR%\extend\krakatoa\jdbc.jar;%CLASSPATH%
set DBTEMP=C:\PROGRA~1\IINFOR~1\infxtmp

rem Setting up locales ru-ru

set CLIENT_LOCALE=ru_ru.1251
set DB_LOCALE=ru_ru.1251
set DBMONEY=.
set GL_DATE=%%d.%%m.%%Y

mode con codepage select=1251

rem start dbaccess
 dbaccess

русскоязычные результаты запроса выводит почему-то в кодировке визуально похожей на ibm866.

Вопрос стандартный - где чего подкрутить, чтобы все утилиты говорили на русском языке одинаково?
24 мар 10, 23:56    [8529195]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
Тан
Member

Откуда: Череповец
Сообщений: 349
londinium

а вот dbaccess, запускаемый батником:

set INFORMIXDIR=C:\PROGRA~1\IINFOR~1
set INFORMIXSERVER=ol_svr_custom
set ONCONFIG=ONCONFIG.ol_svr_custom
set PATH=C:\PROGRA~1\IINFOR~1\bin;%PATH%
set CLASSPATH=%INFORMIXDIR%\extend\krakatoa\krakatoa.jar;%INFORMIXDIR%\extend\krakatoa\jdbc.jar;%CLASSPATH%
set DBTEMP=C:\PROGRA~1\IINFOR~1\infxtmp

rem Setting up locales ru-ru

set CLIENT_LOCALE=ru_ru.1251
set DB_LOCALE=ru_ru.1251
set DBMONEY=.
set GL_DATE=%%d.%%m.%%Y

mode con codepage select=1251

rem start dbaccess
 dbaccess

русскоязычные результаты запроса выводит почему-то в кодировке визуально похожей на ibm866.

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


поставьте в этом батнике
set CLIENT_LOCALE=ru_ru.866
25 мар 10, 09:10    [8529721]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
londinium

Есть Windows Server 2003 R2 EE Rus
...
rem START IDS
oninit

Для Windows такой способ старта сервера (в консольном окне) не совсем правильный.
Здесь нужно запускать сервер в виде службы (service) под учетной записью infomix.
Все параметры (переменные окружения) задаются в реестре в процессе инсталляции или руками.
Стартовать сервис можно и из командной строки (если не нужен автозапуск)
starts %INFORMIXSERVER%
или
net start %INFORMIXSERVER%

смотрите "Installing IDS on Windows"
http://publib.boulder.ibm.com/infocenter/idshelp/v115/topic/com.ibm.igmsw.doc/ids_cw_015x.htm
Установка IDS > Installing IDS on Windows > Post-Installation Tasks (Windows) > Initializing and Starting the Database Server

londinium

mode con codepage select=1251

rem -- Set if RUSSIAN Windows only
mode con codepage select=866
25 мар 10, 12:39    [8531181]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Уточню, на всякий случай, чтобы не возникло путаницы у ТС относительно "разных" указаний от меня и Тан.
vasilis

rem -- Set if RUSSIAN Windows only
mode con codepage select=866

Эта установка русифицирует все системные сообщения ОС и сообщения от утилит (об ошибках, например), выводимые на консоль (экран).
Тан

поставьте в этом батнике
set CLIENT_LOCALE=ru_ru.866

А вот эта установка выводит информацию из БД в соответствующей кодировке (на экран или в файл).
25 мар 10, 13:00    [8531337]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
victor16
Member

Откуда:
Сообщений: 591
vasilis

vasilis

rem -- Set if RUSSIAN Windows only
mode con codepage select=866

Эта установка русифицирует все системные сообщения ОС и сообщения от утилит (об ошибках, например), выводимые на консоль (экран).

Иногда не срабатывает, приходится дополнительно установливать шрифт консольного окна - Lucida Console.
25 мар 10, 13:08    [8531402]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
londinium
Member

Откуда: Киев
Сообщений: 1181
Спасибо за ответы. Теперь руссифицируюсь по науке

Вопрос к vasilis

А способ запуска из командной строки с помощью oninit чему-то угрожает? Или просто не рекомендуется
25 мар 10, 13:11    [8531431]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
В.К.
Member

Откуда: Киев
Сообщений: 235
londinium
А способ запуска из командной строки с помощью oninit чему-то угрожает? Или просто не рекомендуется


Не vasilis, но все же... Закроете окно командной строки (случайно) и все - сервер уронили. Единственная проблема.
25 мар 10, 14:45    [8532323]     Ответить | Цитировать Сообщить модератору
 Re: Локали dbaccess и прочего ПО  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
В.К.
londinium
А способ запуска из командной строки с помощью oninit чему-то угрожает? Или просто не рекомендуется

Не vasilis, но все же... Закроете окно командной строки (случайно) и все - сервер уронили. Единственная проблема.

Работая как сервис или как ваше собственное пользовательское приложение сервер работает в разном окружении и адресном пространстве. Службы Винды все таки более защищены.
25 мар 10, 15:42    [8532945]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить