Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Hi all. - есть удаленный сервер DB2 под Linux ver.9.1; - установлен клиент под WinXP Pro SP1 Ru: ============================================================ About DB2 Administration Tools Environment ============================================================ DB2 administration tools level: Product identifier SQL09010 Level identifier 02010107 Level DB2 v9.1.0.356 Build level s060629 PTF NT32 ============================================================ Java development kit (JDK): Level IBM Corporation 1.5.0 ============================================================ - база была создана с CODEPAGE=1208, CODESET=UTF-8; - таблицы были импортированы из sybase ASE, штатными средствами (в ASE база тоже в UTF-8); ТЕПЕРЬ ПРОБЛЕМА: под Linux, в консоли данные выгребаются и отображаются правильно, а под XP - проблема с кодировкой! там где должен быть один символ - видно 2, один из них как правило прямоугольник. Переменные окружения ( при помощи db2set ) выставлены: DB2INSTPROF=C:\IBM\SQLLIB DB2CODEPAGE=1208 перерыл все возможные настройки - но нигде не нашел больше упоминаний об CharSet. где косяк? помогите! С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 21:16 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Это проблема на стороне db2cli.ini Попробуй в db2cli.ini поставить DISABLEUNICODE=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 11:12 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
неужели никто не сталкивался с подобной ситуацией? нарисовал клиента под win который коннектится к базе по tcp/ip через OLE provider (IBMDADB2). записи которые сохраняются в базе через эту софтинку (в кодировке UTF-8) без проблем читаются ею же. Эта же запись в "Control Central" - выглядит по прежнему кракозяблами...;-( для некоторых других OLE DB провайдеров в строке коннекта (например sybase asa) можно было задать параметр: charset=utf8. а вот для IBM DB2 я подобного ни где не смог найти... с уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 11:48 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Попробуйте так. db2set DB2CODEPAGE=1251 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:04 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
тлгдшлщмЭто проблема на стороне db2cli.ini Попробуй в db2cli.ini поставить DISABLEUNICODE=1 в db2cli.ini не нашел ничего что относилось бы к моему connection...я коннекчусь через TCP/IP. попробовал добавлять эту строчку в разные секции, и вне секций - не помогло... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:22 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
gardenmanПопробуйте так. db2set DB2CODEPAGE=1251 пробовал играться с этим параметром по всякому, результат тот-же ... что интересно вид кракозяблов не изменялся при этом. когда попробовал DB2CODEPAGE=1200 (это UTF-16) получил при запуске централа сообщение об ошибке - "jdbc: ошибка размещения хандла...", и вероятно, код ошибки: CLI0647E. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:32 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Стоп у тебя где кракозябры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 13:25 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
тлгдшлщмСтоп у тебя где кракозябры? в Control Center View: C:\IBM\SQLLIB\BIN\db2cc.bat запускаю его, в дереве (Object View) открываю папку "All Databases" нахожу там нужную базу, коннекчусь. иду в список таблиц, нахожу нужную, жму внизу кнопку "Open" (выгребается первые 100 записей из таблицы) и в текстовых полях вместо национальной кодировки вижу эти кракозябры.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 13:38 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Alexander MushnikovHi all. - есть удаленный сервер DB2 под Linux ver.9.1; - установлен клиент под WinXP Pro SP1 Ru: - база была создана с CODEPAGE=1208, CODESET=UTF-8; - таблицы были импортированы из sybase ASE, штатными средствами (в ASE база тоже в UTF-8); ТЕПЕРЬ ПРОБЛЕМА: под Linux, в консоли данные выгребаются и отображаются правильно, а под XP - проблема с кодировкой! там где должен быть один символ - видно 2, один из них как правило прямоугольник. Переменные окружения ( при помощи db2set ) выставлены: DB2INSTPROF=C:\IBM\SQLLIB DB2CODEPAGE=1208 перерыл все возможные настройки - но нигде не нашел больше упоминаний об CharSet. где косяк? помогите! Проблема как-бы решилась для самописанных приложений... Наваял на BCB6 клиента под win который коннектится к базе по tcp/ip через OLE provider (IBMDADB2). при чтении и записи приходится делать ряд преобразований что-бы получить UTF-16 и обратно UTF-8. при чтении: WideString GetValue( Variant fiValue ) { WideString v; int lenv; wchar_t *ibuf=NULL; char *obuf=NULL; int i; unsigned short kod; UTF8String ustr; if( fiValue.IsNull() ) fiValue = ""; v = fiValue.operator WideString(); if( v != WideString( "" ) ) { lenv = v.Length(); ibuf = new wchar_t[ lenv*2 + 16]; obuf = new char[ lenv + 16 ]; wcscpy( ibuf, fiValue.operator wchar_t *() ); for( i = 0; i < lenv; i++ ) { kod = ibuf ; obuf = kod; } obuf[lenv] = 0; ustr = obuf; v = UTF8Decode( ustr ); SAFE_DELETE_ARR( ibuf ); SAFE_DELETE_ARR( obuf ); } return( v ); } при записи: bool SetValue( TField f, WideString str_unicods ) { AnsiString a; wchar_t *w = NULL; unsigned char *c = NULL; int len; unsigned short kod; int ind; Variant vvar; WideString v; a = UTF8Encode( str_unicods ); len = a.Length(); if( len > 0 ) { w = new wchar_t[ len*2 + 16]; c = new char[ len + 16 ]; memcpy( c, a.c_str(), len ); c[len] = 0; c[len + 1] = 0; for( ind = 0; ind < len; ind++ ) { kod = c[ind]; w[ind] = kod; } w[len] = 0; w[len + 1] = 0; v = WideString( w ); vvar = v; f->AsVariant = vvar; SAFE_DELETE_ARR( w ); SAFE_DELETE_ARR( c ); } else f->AsString = ""; return(true); } С уважением, Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 16:24 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Alexander MushnikovHi all. - есть удаленный сервер DB2 под Linux ver.9.1; - установлен клиент под WinXP Pro SP1 Ru: - база была создана с CODEPAGE=1208, CODESET=UTF-8; А какие параметры были заданы для COUNTRY и TERRITORY для этой базы? Для России это должно быть COUNTRY=7, TERRITORY=RU Alexander Mushnikov а под XP - проблема с кодировкой! там где должен быть один символ - видно 2, один из них как правило прямоугольник. Переменные окружения ( при помощи db2set ) выставлены: DB2INSTPROF=C:\IBM\SQLLIB DB2CODEPAGE=1208 перерыл все возможные настройки - но нигде не нашел больше упоминаний об CharSet. где косяк? помогите! DB2CODEPAGE=1208 - на клиенте вот это излишне и как раз может приводить к этому эффекту. А что получится ( и в какой кодировке) если выполнить SELECT из CLI и сохранить его в файл? Т.е. сделать (по логике) нужно так: На сервере (база): CODEPAGE 1208 CODESET UTF-8 COUNTRY 7 TERRITORY RU На клиенте (XP) В региональных настройках поставить Location: Russia Standards and formats: Russian DB2CODEPAGE=1208 - убрать, или выставить значение 1251 (по умолчанию). После этого желательно выполнить запрос из CLI, с сохранением результата в файл, если результат будет в кодировке 1251, значит все ОК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 17:41 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Почитайте тут про unicode в db2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 17:48 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Евгений Хабаров А какие параметры были заданы для COUNTRY и TERRITORY для этой базы? Для России это должно быть COUNTRY=7, TERRITORY=RU для России это как раз и должно быть, но клиенты не только в России....в Греции например тоже есть. Евгений Хабаров А что получится ( и в какой кодировке) если выполнить SELECT из CLI и сохранить его в файл? OLE driver возвращает все по честному, в TField->Value (VCL) содержится именно UTF-8 символы, и в своем приложении я без проблем перевожу их в UTF-16, и они красиво отображаются, причем для любых языков. Евгений Хабаров Т.е. сделать (по логике) нужно так: На сервере (база): CODEPAGE 1208 CODESET UTF-8 COUNTRY 7 TERRITORY RU для нашего сервака так - как раз нельзя. Евгений Хабаров На клиенте (XP) В региональных настройках поставить Location: Russia Standards and formats: Russian DB2CODEPAGE=1208 - убрать, или выставить значение 1251 (по умолчанию). В региональных настройках XP или у "клиента DB2" еще есть такие? 1208 - убрал. те-же яйца...очень похоже что IBM-ский Централ тоже получает честный UTF-8(знакомые по форме символы), но похоже не умеет его отображать... Евгений Хабаров После этого желательно выполнить запрос из CLI, с сохранением результата в файл, если результат будет в кодировке 1251, значит все ОК. да в моем приложении - все ок с кодировками. Криво отображает IBM-вский Централ.....да фиг с ним - не очень то и хотелось;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 19:18 |
|
||
|
проблема с кодировкой для win client - server 9.1 DB2 for linux
|
|||
|---|---|---|---|
|
#18+
Mark BarinsteinПочитайте тут про unicode в db2. О! спасибо за ссылочку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2007, 19:20 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34354574&tid=1604748]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 380ms |

| 0 / 0 |
