Страница 1 из 1

Cannot transliterate character between character sets

Добавлено: 20 янв 2006, 09:03
Igor_fp
Здравствуйте. Помогите, пожалуйста.
В обыкновенном запросе выдается:

Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: select * from specpau where anumb='009025'

В charset и collate поля anumb стоит win1251.
Но все равно выдается такое сообщение.
Что делать?
Спасибо.

Добавлено: 20 янв 2006, 10:06
kdv
три раза прочитать www.ibase.ru/devinfo/ibrusfaq.htm

Добавлено: 20 янв 2006, 11:18
Igor_fp
Сработало:
select * from specpau where anumb COLLATE PXW_CYRL='009025'
Спасибо!

Добавлено: 20 янв 2006, 11:28
kdv
что-то не то у тебя сработало, судя по исходному письму.

Добавлено: 20 янв 2006, 11:46
Igor_fp
Почему-то
select * from specpau where anumb COLLATE PXW_CYRL='009025'
срабатывает на базе где charset и collate поставлены на win1251,
а на базе где они <<none>> не срабатывает.
Надо повнимательнее почитать статью "О работе с русскими буквами в InterBase/Firebird".

Добавлено: 01 фев 2006, 15:04
Dioxin
Была у меня подобная штука...
Хотел даж переставить сервер :shock:
А оказалось все просто до немогу...
При создании указал ВИН1251 а в ИБДатаБазе этого не указал.
А сервак сам не догадался :evil: