interbase - кирилица

6 отговора 159 прегледа
#1

interbase - кирилица

сигурно е елементарно, ама....

направих си таблица и се опитах да въведа в поле от тип varchar низ на кирилица. Дава ми грешка. Защо? (ако е само от латински букви или цифри няма проблеми)

Отговор
в отговор на ib #2

Недостатъчно информация даваш

>направих си таблица и се опитах да въведа в поле от тип varchar
Какъв Character set ?
>Дава ми грешка
Какво е съобщението на грешката?
Кога ти я дава?
Какъв клиент ползваш?

Вж. О работе с русскими буквами в InterBase/Firebird

Редактирано от NDeu на

Отговор
в отговор на NDeu #3

Re: Недостатъчно информация даваш

В IBConsole на IB6, Charset-a е Win 1251

Грешка дава когато се опитам да въведа данни чрез
insert into TABLENAME values ('нещо')
а в същото време ако пробвам с
insert into TABLENAME values ('ne6to') си работи!

дава грешка:
Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: insert into me values (6, 'абв')

Някаква идея?

Отговор
в отговор на ib #4

Re: Недостатъчно информация даваш

Това съобщение се получава когато зададения Charset на клиента при конекта и на базата се различават.
В твоя случай предполагам, че при регистрацията на базата в IBConsole не си посочил Charset . Направи нова регистрация на базата и задай съответния Charset.
Според мен IB6 не е много добър избор. По-добре е да ползваш Firebird.
Според мен IBConsole не е много добър избор. По-добре е да ползваш IBExpert.

Отговор
в отговор на NDeu #5

Re: Недостатъчно информация даваш

Регистрирах нова база, отново избрах на Default charset: win 1251 и пак същия проблем. Ето Metadata-ta:


/* Table: AA, Owner: SYSDBA */

CREATE TABLE "AA"
(
"A" VARCHAR(30) CHARACTER SET WIN1251
);


ок, ще пробвам с IBExpert.
Никога не съм ползвал Firebird. Това което съм чувал за нея е, че много прилича на IB, но е напълно безплатна и open-source. Какви други предимства/недостатъци има?

Отговор
в отговор на ib #6

Re: Недостатъчно информация даваш

Прочети внимателно статията за която ти дадох линк по горе.
Посъветвах те в IBConsole да направиш нова регистрация на съществуващата база, а не да създаваш нова база, защото имаше една особеност (бъг) в работата на IBConsole. Когато създава нова база, не записва чарсета в регистрацията и съответно не го използва при конекта.
Повече за IB/FB можеш да прочетеш в [линк]

Отговор
в отговор на NDeu #7

Re: Недостатъчно информация даваш

Това с пререгистрацията свърши работа. Благодаря!!!

Между другото не знам руски

Отговор