powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Server Studio: russian text
11 сообщений из 11, страница 1 из 1
Server Studio: russian text
    #34812365
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый всем!
Взял Server Studio 6.1 evaluation (SS) - все прекрасно, кроме: неправильно отображает русские буквы из текстовых полей из БД, например по select * from. При этом CLIENT_LOCALE и DB_LOCALE как в SetNet, так и в свойствах соединения SS заданы правильно и одинаково. Server Studio 3.5 отображает русские буквы из БД корректно. eSQLEditor - тоже корректно.
Используется I-CSDK 2.9 (установлены только ODBC драйвер и OLE DB provider).
Сервер БД - IDS 9.40 FC9, FC7

Подозреваю, что дело в неправильной конвертации символов Java приложением при их визуализации (может быть, нужно подрихтовать строку вызова javaw.exe...), поскольку
1) экспорт данных в файл - русский текст в выгруженных данных - OK, в кодировке 1251.
2) insert into ttt values('русский текст' );
select * from ttt;
Ðóññêèé òåêñò - это строка добавленная не из SS
??????? ????? - это строка, вставленная только что.
3) если в SS в SQL Editore написать русский текст, то после сохранения в файл *.sql в файле также оказывется '??????' вместо русского текста.
4) в поставке имеются jre\lib\charsets.jar и jre\lib\ext\localedata.jar

Кто поможет?
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34812768
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думаю, что Вам потребуется установить дополнительный пакет - IBM Informix ILS 3.40.MC1x.

В данном пакете, содержится дополнительные таблицы перекодировок.
Например из UNICODE UTF-8 в CP1251 и т.д.

Следует проверить переменные среды в Server Studio JE
CLIENT_LOCALE и DB_LOCALE и т.д.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34816073
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю файл блокнотом, одна строка:
insert into ttt values('Русский текст3');
Запускаю Server Studio 6, просто открываю файл, отказываясь от коннекта к БД. Вижу:
insert into ttt values('Ðóññêèé òåêñò3');
Добавляю строку:
insert into ttt values('русский текст4');
Сохраняю файл. Вижу в блокноте:
insert into ttt values('Русский текст3');
insert into ttt values('??????? ?????4');

Вадим, Вы полагаете, что установка IBM Informix ILS 3.40.MC1 поможет "русскому тексту" в этом сценарии? Может быть, шрифты?

(В Server Studio переменные CLIENT_LOCALE, DB_LOCALE и др. установлены правильно, что на практике подтверждается корректным экспортом русского текста из таблицы БД в файл)

Кто-то же работает с Server Studio 6 или 5.6?
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34819329
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, бывает и такое ...

Для начала,
следует убедиться, что у Вас установленна версия JAVA, требуемая для Server Studio JE
(Java SDK - c поддержкой многоязычности) !!!

Скачать можно здесь -
http://java.sun.com/javaee/downloads/download_ru.jsp

Далее,
проверить настройки параметров ОС Windows (Regional and Language Options) и т.д.

Можно попробывать, установить пересенную среды CLIENT_LOCALE для Informix для Server Studio
с поддержкой UNICODE.

Если не поможет, тогда попробую проверить на тестовой машине чуть позже.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34825814
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вадим, спасибо, после установки Java EE 5 SDK и изменения в Regional and Language Options параметра Standarts and formats на Russian одна проблема решена: тексты из внешних файлов открываются, редактируются и сохраняются хорошо (в 1251). Я думаю, помогло второе :)
Но в базу-из базы конвертация не выполняется.
DB_LOCALE=en_US.819 или аналог en_US.8859-1 (другие кодировки Server Studio просто не принимает, поскольку эта записана в sysmaster при создании БД).
CLIENT_LOCALE=en_US.1251 (так в SeNet и работает в других программах), но в Server Studio ставлю эту или любую другую, в том числе юникод charset en_US.UTF8 или несуществующий -en_US.9999 - ничего не меняется:

into ttt values('русский текст' );
select * from ttt;
Ðóññêèé òåêñò - это строка добавленная не из SS
??????? ????? - это строка, вставленная только что.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34825865
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulianНо в базу-из базы конвертация не выполняется.
DB_LOCALE=en_US.819 или аналог en_US.8859-1
CLIENT_LOCALE=en_US.1251 (так в SeNet и работает в других программах)

Вот тут я не понял.
Вы хотите, чтобы при указании
DB_LOCALE=en_US.819 и CLIENT_LOCALE=en_US.1251 у вас работала конвертация ?
Она и не должна работать с такими параметрами.
en_US.1251 - это вообще непонятно что.
Чтобы из 1251 перекодировать в 819 , как минимум, должна быть соответствующая таблица перекодировки, т.е. в %Informixdir%\gls\cv9\ должен быть файлик 04e30333.cvo и, соответственно, таблица наоборот. У меня такого нет ...
Посмотрите http://www.sql.ru/faq/faq.aspx?id=549 - возможно, многое прояснится.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34826093
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Василий, ты как всегда - на высоте ... спасибо за помощь !!!
Я тут замотался, не смог вовремя ответить ... :)

Еще раз спасибо!

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34826135
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут как раз все просто: про то, что en_us.819 не годится для db_locale, подумали, когда БД пересоздавать было уже поздно. Проще оказалось создать таблицы перекодировки, что и было сделано. Так что таблички для перекодировки туда-сюда есть :) Я же говорю: конвертация работает в eSQLEditor и Server Studio 3.5, а также, кстати, в WinSQL через ODBC и в прикладных приложениях. А Java приложения упираются - Server Studio 6.1 и, для полноты картины, Aqua Data Studio.
Видимо, это связано с отсутствием перекодировки для Unicode<->en_us.1251 в Java, и тут ничего не поделаешь... Попробую завтра создать БД в стандартной ru_Ru.1251, спасибо за мысль.
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34826879
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, все стало замечательно, русские символы в базу - из базы ходят правильно.
Всем спасибо!

В общем, "Java is Unicode based, so IBM Informix JDBC Driver converts data between Unicode and the Informix database code set...You cannot use an Informix locale with a code set for which there is no JDK-supported encoding. " -
http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.jdbc.doc/jdbc190.htm
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34832292
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JulianТут как раз все просто: про то, что en_us.819 не годится для db_locale, подумали, когда БД пересоздавать было уже поздно. Проще оказалось создать таблицы перекодировки, что и было сделано
Ничего себе проще :)
А что мешало просто выгрузить dbexport-ом, создать новую БД с нужной локалью и снова загрузить dbimport-ом ?
...
Рейтинг: 0 / 0
Server Studio: russian text
    #34833144
Julian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это длинная история, которая была еще до меня... Работаем с тем, что есть.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Server Studio: russian text
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]