Interbase проблем
3 отговора
176 прегледа
Interbase проблем
Здравейте,
Имам следният проблем с Interbase
налага ми се да използвам функцията Upper() но се оказа че тя не работи за
записи с кирилица.Не съм оказал default charset на базата данни.
Какъв default charset трябва да сложа за да ползвам кирилица, да работи Upper() и как да insert-вам записи съдържащи кирилица защото пробвах с WIN1251, но неможах да въведа запис съдържащ кирилица.
Предварително благодаря
Имам следният проблем с Interbase
налага ми се да използвам функцията Upper() но се оказа че тя не работи за
записи с кирилица.Не съм оказал default charset на базата данни.
Какъв default charset трябва да сложа за да ползвам кирилица, да работи Upper() и как да insert-вам записи съдържащи кирилица защото пробвах с WIN1251, но неможах да въведа запис съдържащ кирилица.
Предварително благодаря
Re: Interbase проблем
Проблема е задклавиатурен
Накратко:
1. При създаване на базата задаваш DEFAULT CHARACTER SET WIN1251
1а. При създаване на полето задаваш CHARACTER SET WIN1251, ако дефолта е друг.
2. При създаване на полето задаваш COLLATE PXW_CYRL
2а. При селекта задаваш COLLATE PXW_CYRL, ако не е даден при полето
3. При конекта задаваш lc_ctype=WIN1251
4. Наличие на правилната GDSINTL.DLL (под Unix - gdsintl.so)
За повече подробности О работе с русскими буквами в InterBase/Firebird

Накратко:
1. При създаване на базата задаваш DEFAULT CHARACTER SET WIN1251
1а. При създаване на полето задаваш CHARACTER SET WIN1251, ако дефолта е друг.
2. При създаване на полето задаваш COLLATE PXW_CYRL
2а. При селекта задаваш COLLATE PXW_CYRL, ако не е даден при полето
3. При конекта задаваш lc_ctype=WIN1251
4. Наличие на правилната GDSINTL.DLL (под Unix - gdsintl.so)
За повече подробности О работе с русскими буквами в InterBase/Firebird
Re: Interbase проблем
> 2. При създаване на полето задаваш COLLATE PXW_CYRL
Това може да се пропусне ако направиш -
(нямам IB тук - горе долу това) преди таблиците:
update rdb$charater_sets set default_cahracterset = 'PXW_CYRL' Where name = 'WIN1251'
Това може да се пропусне ако направиш -
(нямам IB тук - горе долу това) преди таблиците:
update rdb$charater_sets set default_cahracterset = 'PXW_CYRL' Where name = 'WIN1251'