"Janex" ...
>
> Khorsun Vlad wrote:
> >
> >     Твоё :MAS_BLABLA в какой кодировке ? В UTF8 ? А может в WIN1251
> > (или что там у вас ?)
>
> В тестовом примере мастера вообшё нету, но если пишем
> WHERE RDB$RELATION_ID = :MAS_BLABLA
> то всеравно получаем ошубку :( А RDB$RELATION_ID ведь SMALLINT чё там
> ему кодировки указывать то?

    Значит не в параметре дело.

> >     Вот и перекодируй русскую строку в UTF8 перед тем, как скормить её 
> > серверу.
> > Или явно указывай, что это WIN1251 :
> >  WHERE xxx = _WIN1251 :MAS_BLABLA
>
> В реальном пректе где ето непашет все :MAS_BLABLA ссылаются на INTEGER-ы.

    Ищи в своём запросе и\или его параметрах строки не в UTF8.

Особенность UTF8 в том, что первая половина ASCII таблицы в него входит как 
есть.
Т.е. если в строке все символы имею коды < 128, то такая строка есть корректная
UTF8 строка. Остальные символы нужно кодировать по правилам UTF8.

> А что ето за синтаксис такои (новыи какоито?) "WHERE xxx = _WIN1251 
> :MAS_BLABLA" ?
> Мне непашет :)

    Это старый синтаксис задания чарсета строки. Не уверен, работает ли оно с 
параметрами.

-- 
Хорсун Влад


Ответить