Поиск:

Ответ в темуСоздание новой темы Создание опроса
> D2009+Fib696+DevExpress+FB2.5, = кракозябры 
V
    Опции темы
Akella
  Дата 30.3.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Здравствуйте. Кому нибудь удавалось скрестить нормально D2009 + FibPlus 6.9.6 + DevExpress v.42 + базу Firebird 2.5 в кодировке UTF8?? 

user posted image

Слева cxDBTreeList, вверху cxGrid, внизу стандартный DBGrid D2009.

В параметрах подключения к базе указал UTF8, подключил датасет, открыл редактор полей, создал все поля.

{$DEFINE UNICODE_TO_STRING_FIELDS} определена в FIBPlus.inc

Почему в DevExpress кракозяблики smile  smile  smile ? Что не так smile ?
PM MAIL   Вверх
pseud
Дата 31.3.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 16
Всего: 40



может...
user posted image

Это сообщение отредактировал(а) pseud - 31.3.2009, 13:44


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Frees
Дата 31.3.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(Akella @  31.3.2009,  00:01 Найти цитируемый пост)
 D2009 + FibPlus 6.9.6 + DevExpress v.42 + базу Firebird 2.5 в кодировке UTF8



Цитата(Akella @  31.3.2009,  00:01 Найти цитируемый пост)
внизу стандартный DBGrid D2009.


проблема в DevExpress его курить надо он UTF не понял у него может что в инк поправить


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akella
Дата 31.3.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Не понимаю, зачем RUSSIAN_CHARSET  smile, вроде как юникод. Вечером гляну.

Добавлено через 4 минуты и 29 секунд
Цитата(Frees @  31.3.2009,  14:00 Найти цитируемый пост)
проблема в DevExpress

По идее ещё с версии 39 была заявлена поддержка юникода. А с версии 40 или 42 была заявлена поддержка D2009. Теперь ждать пока выйдет версия с поддержкой юникода в D2009? Ох, чувствую, намучаемся все мы с этим юникодом smile 
PM MAIL   Вверх
Bose
Дата 31.3.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(Akella @  31.3.2009,  13:02 Найти цитируемый пост)
Ох, чувствую, намучаемся все мы с этим юникодом


Цитата(Akella @  30.3.2009,  21:01 Найти цитируемый пост)
Кому нибудь удавалось скрестить нормально D2009 + FibPlus 6.9.6 + DevExpress v.42 + базу Firebird 2.5 в кодировке UTF8?? 

1) Мне даже не удалось скрестить D2009 + FibPlus 6.9.6(demo).
2) Также не удалось скрестить D2009 + базу Firebird в кодировке UTF8. Правда я пробовал скрещивать через IBX. Проблема и решение описаны тут.
Правда, я только разик попробовал, и махнул рукой, ибо есть дела и поважнее.
PM MAIL WWW Skype   Вверх
Akella
Дата 1.4.2009, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Bose @  31.3.2009,  23:47 Найти цитируемый пост)
1) Мне даже не удалось скрестить D2009 + FibPlus 6.9.6(demo).

А что не так? Конкретнее?

Добавлено через 4 минуты и 55 секунд
Цитата(Bose @  31.3.2009,  23:47 Найти цитируемый пост)
D2009 + базу Firebird в кодировке UTF8. Правда я пробовал скрещивать через IBX. 

несовместимость у ibx
PM MAIL   Вверх
Bose
Дата 1.4.2009, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(Akella @  1.4.2009,  07:39 Найти цитируемый пост)
А что не так? Конкретнее?

Да это неактуально на самом деле. Просто у меня при компиляции IDE ругается, что FIBDatabase.dcu не найден.

Добавлено через 5 минут и 36 секунд
Цитата(Akella @  1.4.2009,  07:39 Найти цитируемый пост)

несовместимость у ibx 

хорошая ссылка, спасибо!
PM MAIL WWW Skype   Вверх
Akella
Дата 1.4.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(pseud @  31.3.2009,  13:43 Найти цитируемый пост)
может...

обращаю внимание, что у меня cxDBTreeList, там нет свойства Font у колонки вообще
а у самого дерева DEFAULT_CHARSET
PM MAIL   Вверх
Akella
  Дата 8.4.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Bose @  31.3.2009,  23:47 Найти цитируемый пост)
2) Также не удалось скрестить D2009 + базу Firebird в кодировке UTF8. Правда я пробовал скрещивать через IBX


Bose, вот что нашёл:

Цитата
Ошибка Division by zero в IBX Delphi 2009

Баг зарегистрирован в QualityCentral под номеровм 68103.

Причина - в кривом методе

function TIBXSQLVAR.GetCharsetSize: Integer;

модуля IBSQL.

В IBX до версии, поставляемой с Delphi, до сих пор не было вообще никакой поддержки unicode. В IBX 2009 этот метод появился с целью поддержки unicode, но идентификаторы кодировок InterBase в нем зашиты жестко, что приводит к несовместимости с идентификаторами кодировок в Firebird (см. отличия в поддержке UTF8), а также к некорректной обработке SQLSubtype, где и у InterBase (!) и у Firebird в старшем байте может содержаться код collate столбца. Более правильно было бы определять количество байт на символ обращаясь к столбцу RDB$BYTES_PER_CHARACTER таблицы RDB$CHARACTER_SETS. Это не только унифицировало бы поддержку InterBase и Firebird, но и обеспечило бы совместимость IBX со всеми будущими версиями InterBase, если бы в них появлялись новые кодировки. Однако такая реализация потребовала бы "кэширования" данной информации, чтобы не происходило обращение к этим таблицам каждый раз при вызове GetCharsetSize.

Пример скорректированного для Firebird кода GetCharsetSize (модуль IBSQL.pas):

function TIBXSQLVAR.GetCharsetSize: Integer;
begin
  case SQLVar.SQLSubtype and $FF of // здесь and $FF убирает id collate, возвращаемый Firebird
    0, 1, 2, 10, 11, 12, 13, 14, 19, 21, 22, 39,
    45, 46, 47, 50, 51, 52, 53, 54, 55, 58 :  Result := 1;
    5, 6, 8, 44, 56, 57, 64 : Result := 2;
    3 : Result := 3;
    4, 59 : Result := 4; // здесь правильно обрабатывается id UTF8 в Firebird
 else
   Result := 0;
 end;
end;


Источник
PM MAIL   Вверх
Akella
  Дата 21.4.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



В файле FIBPlus.inc есть {$DEFINE UNICODE_TO_STRING_FIELDS}. Эту строку нужно закомментировать. Тогда будут создаваться TWideStringField столбцы.
А как я понял, то в D2009 столбцы TStringField не юникодные.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0827 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.