Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 13.3.2008, 21:52 |
у меня одновременно незахотели собираться -plugin-sql-odbc -plugin-sql-ibase только когда один из них, может конечно я чего нетак делал, но пока не до этого, сейчас Borland C++ Builder 5 рулит |
|
Tonal | Дата 13.3.2008, 21:18 |
1) Какую кодировку ты указываешь при подключении к базе? в "Источнике данных ODBC" указавал родную для БД, Unicod'ы разные и NONE Тут я не в курсях - только игрался. 2) Почему не использовать штатный драйвер Firebird/InterBase из поставки Qt Open Source? во-вторых, есть подозрение, что драйвер ODBC не совместим с драйвером ibase, первый отменяет определения типов заданных ibase'ом (пошерстил немного исходники) Что значит "не совместим"? У меня Qt собрана с -plugin-sql-ibase -plugin-sql-mysql -plugin-sql-odbc -plugin-sql-sqlite (раньше ещё pg-собирал). Только что, в демосе sqlbrowser подключил их все. Что я не так делаю? Драйвер ibase работает со всеми версиями Interbase/Firebird. |
|
Litkevich Yuriy | Дата 13.3.2008, 14:50 |
Вобщем порыскав по инету, пришел к следующему выводу: Надо дать Qt'ям в Юникоде, как-то это можно сделать в самой БД, а настройки ODBC, Qt'я говорят в гробу видела, т.е. одни ест другие нет и это вроде как честно с точки зрения Юникодовского приложения, так как не оно должно заниматься перекодировками. Плохо то, что БД разные, и видимо средствами ODBC нельзя унифицировано указать БД в какой кодировке она должна работать с внешним миром. Прийдется индивидуально задавать. С Paradox'ом просто - русские символы понимает сходу, ну и две другие базы родственные должно катить:
попробую так. |
|
Litkevich Yuriy | Дата 13.3.2008, 12:18 |
1) Какую кодировку ты указываешь при подключении к базе? в "Источнике данных ODBC" указавал родную для БД, Unicod'ы разные и NONE 2) Почему не использовать штатный драйвер Firebird/InterBase из поставки Qt Open Source? во-первых, читай предыдущие посты о применямых БД, во-вторых, есть подозрение, что драйвер ODBC не совместим с драйвером ibase, первый отменяет определения типов заданных ibase'ом (пошерстил немного исходники) |
|
Tonal | Дата 13.3.2008, 8:49 |
Два вопроса: 1) Какую кодировку ты указываешь при подключении к базе? Я бы использовал для Firebird UTF8, для InterBase UNICODE_FSS. 2) Почему не использовать штатный драйвер Firebird/InterBase из поставки Qt Open Source? |
|
Litkevich Yuriy | Дата 12.3.2008, 16:29 |
приведенные выше строки определены в функции main, буквально так:
на буржуйских форумах люди тоже с этим парятся, тем кому надо кодировку БД отличную от основной, в коде делают селекты руками прекодируют зарание инициализированными кодеками, при вставке и обновлении процесс тот-же только в обратную сторону, а это ЗАД, неужели это единственный способ? |
|
ViGOur | Дата 12.3.2008, 16:21 |
А ты когда устанавливаешь кодек, до чтения строк из БД или после? Просто нужно устанавливать до чтения в ту кодировку, а которой находится БД. |
|
Litkevich Yuriy | Дата 12.3.2008, 16:02 |
блин, все облазил, попробывал так:
думал раз уж в ODBC менеджере я указваю кодировку, то манеджер будет из нее в локальную конвертировать, а локальную я в программе указал. фигушки не работает, тогда не понимаю как вообще это в Qt'ях работает, гдето упоминалось, что поумолчанию при работе с БД тип данных Qstring используется, наверное это мешает. И непойму почему в Qt'ях непредусмотренно задание кодировки БД. (в борланде индивидуально для каждого псевдонима можно кодировку выбрать) |
|
ViGOur | Дата 12.3.2008, 15:32 |
DOS-rus(Paradox), WIN1251 (IntrBase 5.x), UTF-8 (Firebird 2.x) Однако! Тады нужно искать, как такое сделать, я пока даже и не знаю. |
|
Litkevich Yuriy | Дата 12.3.2008, 15:00 |
не получится, у меня три БД и все с разными кодировками DOS-rus(Paradox), WIN1251 (IntrBase 5.x), UTF-8 (Firebird 2.x), из первых двух данные собираются, + данные через COM-порт с девайсов и в третью кладутся | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 21:02 |