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