slyubez писал(а):Проверил на рабочем проекте. Теперь эти алиасы почему-то отображаются в ВЕРХНЕМ регистре и впридачу обрезаются в длине до 16 символов. Это точно не ограничение Firebird - в FIB+ с Delphi такого поведения не отмечал. С IBX на Delphi не работал уже очень давно и не касался алиасов полей, тем более у меня сейчас D2010 с непиленными под UTF8 компонентами IBX.
Для передачи информации к серверу и обратно, компоненты манипулируют записью TXSQLVAR (объявлена в IBHeader) через клиентскую библиотеку fbclient.* или fbembed.dll.
- Код: Выделить всё
- TXSQLVAR = record
 sqltype                     : Short;     (** datatype of field **)
 sqlscale                    : Short;     (** scale factor **)
 sqlsubtype                  : Short;     (** datatype subtype - BLOBs **)
 (** & text types only **)
 sqllen                      : Short;     (** length of data area **)
 sqldata                     : PChar;     (** address of data **)
 sqlind                      : PShort;    (** address of indicator **)
 (** variable **)
 sqlname_length              : Short;     (** length of sqlname field **)
 (** name of field, name length + space for NULL **)
 sqlname                     : array[0..31] of Char;
 relname_length              : Short;     (** length of relation name **)
 (** field's relation name + space for NULL **)
 relname                     : array[0..31] of Char;
 ownname_length              : Short;     (** length of owner name **)
 (** relation's owner name + space for NULL **)
 ownname                     : array[0..31] of Char;
 aliasname_length            : Short;     (** length of alias name **)
 (** relation's alias name + space for NULL **)
 aliasname                   : array[0..31] of Char;
 end;  // TXSQLVAR
 
Как видно размер полей для передачи имен ограничен [0..31], а т.к. русские символы занимают в UTF8 - 2 байта, то соответственно русский алиас обрежется вдвое от указанной длины, заполнение структуры происходит на сервере, поэтому русские алиасы, для UTF-8 на клиенте, уже с сервера приходят обрезанными. На данный момент найти какую-то альтернативу решения проблемы довольно проблематично, поэтому могу только рекомендовать не использовать русские алиасы..