merhabalar
firebird veritabanı ve ib bileşenlerini kullanıyorum.
veri tabanına türkçe karakterler doğru olarak yazılıyor.
fakat edit dbgrit gibi nesnelere verileri programdan aktardığımda karakterler yanlış görünüyor. ş ğ i gibi karakterler.
forumda aramama rağmen cevap bulamadım. firebird ksımında charset:1254 charset:turksh charset seçili.
bağlantı yaptığım ibdatabase1 bileşenlerinde de charset:1254 seçili
Bunların dışında atladığım bir noktamı var.
türkçe karakter sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 135
- Kayıt: 14 Kas 2005 12:24
Re: türkçe karakter sorunu
viewtopic.php?f=18&t=27122&p=151617&hil ... 7e#p151617
Forumda fazlasıyla örnek var.
Delphi tarafında aşağıdaki gibi bir procedure kullanabilirsiniz.
Bu yordamı kullanırken genelde CharCase özelliğini UpperCase olarak ayarlıyorum. Hiç bir sorun yaşamıyorum.
Veritabanında arama yapacağınız zaman
Bunun haricinde, firebird veritabanı için hazır fonksiyonlar var.(UdF Library diye aratın)
İyi çalışmalar.
Forumda fazlasıyla örnek var.
Delphi tarafında aşağıdaki gibi bir procedure kullanabilirsiniz.
Kod: Tümünü seç
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
var
strng:string;
begin
strng:=(Sender as TEdit).Text;
if ((Sender as TEdit).SelStart = 0) or
((Sender as TEdit).SelTEXT = ' ') then
Case Key of
'ı': Key := 'I';
'i': Key := 'İ';
else Key := AnsiUpperCase(Key)[1];
end
else
if (strng[Length((Sender as TEdit).Text)]=' ') or (strng[Length((Sender as TEdit).Text)]='.') then
Case Key of
'ı': Key := 'I';
'i': Key := 'İ';
else Key := AnsiUpperCase(Key)[1];
end
else
if NOT (strng[Length((Sender as TEdit).Text)]=' ') or NOT (strng[Length((Sender as TEdit).Text)]='.') then
Case Key of
'ı': Key := 'I';
'i': Key := 'İ';
else Key := AnsiUPPERCase(Key)[1];
end;
Veritabanında arama yapacağınız zaman
Kod: Tümünü seç
SQL.Add(' UPPER(FIELD_NAME collate pxw_Turk) LIKE UPPER(''%'+Edit1.Text+'%'' collate pxw_Turk)');
İyi çalışmalar.
Re: türkçe karakter sorunu
cevabınız için teşekkür ederim ancak bahsettiğiniz fonksiyonu zatten kullanıyorum bu fonksiyon sadece ı,i gibi karakterleri düzenliyor.
ben ş,ğ gibi karakterlerde de problem yazşıyorum, bu sorunu ş ğ gibi karakterleride fonksiyona tek tek ekleyerek çözdüm fakat bu problemi daha önce yaşamamıştım
bu forumdada pek kimse yaşamamış anlaşılan bu soruyu bu sebepten sordum, delphi dil ayarlarıyla ilgili bir problem var gibi.
ben ş,ğ gibi karakterlerde de problem yazşıyorum, bu sorunu ş ğ gibi karakterleride fonksiyona tek tek ekleyerek çözdüm fakat bu problemi daha önce yaşamamıştım
bu forumdada pek kimse yaşamamış anlaşılan bu soruyu bu sebepten sordum, delphi dil ayarlarıyla ilgili bir problem var gibi.