![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с русскими буквами в Firebird. [D7, FireBird 1.0]
Sodom © (2003-10-13 10:08:00)
Здравствуйте. При запросе в котором в условии отбора присутствуют русские буквы, возникает след. исключение:
EIBInterBaseError with message "arithmetic exception numeric overflow, or string truncation Cannot transliterate character between character sets". Запрос следующего вида: select count(*) from <Имя таблицы> where Поле1 = stringvar. Так вот, если в stringvar есть русские буквы, то возникает это исключение, а с латинскими все нормально. При создании базы кодировка выбрана Win1251. Подскажите, в чем косяк? Спасибо.
Sodom (2003-10-13 11:37:00) [1]
Не, у меня все базюкины вещи в отдельной Dll, так, что я все компоненты програмно создаю и обращаюсь к ним через свои функции.
Vemer (2003-10-13 11:18:00) [2]
А зачем кодировку програмно задавать?
Понимаю если надо имя/пароль запросить, а кодировку поставил 1 раз и забыл (что поставил не ту :)).
Sodom (2003-10-13 10:50:00) [3]
> to: Vemer
Спасибо, чувак все получилось. Если програмно, то в свойство Params IBDataBase нужно добавить строку lc_ctype=WIN1251. Получится в итоге:
user_name=sysdba
password=masterkey
lc_ctype=WIN1251
И все в ажуре. Спасибо всем, особенно Vemer"у.
Vemer (2003-10-13 10:36:00) [4]
Кажется 2-ой клик на IB_Main, тьфу IBDATABASE, выскакивает окошко в котором логин и пароль определяешь, а снизу слева выпадуха с выбором кодировок.
Danilka (2003-10-13 10:28:00) [5]
см:
http://www.ibase.ru/devinfo/ibrusfaq.htm
и вообще, внимательно почитай статьи отсюда:
http://www.ibase.ru/develop.htm
Sodom (2003-10-13 10:26:00) [6]
> to: Vemer
Какое это свойство?
Vemer (2003-10-13 10:19:00) [7]
Возможно ты забыл поставить кодировку 1251 в компоненте IBDataBase. Сам наступил на эти грабли месяц назад.