türkçe karakter sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
gercek_16
Üye
Mesajlar: 108
Kayıt: 19 Haz 2005 02:42
Konum: mersin

türkçe karakter sorunu

Mesaj gönderen gercek_16 »

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.
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: türkçe karakter sorunu

Mesaj gönderen adnansirca »

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.

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;
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

Kod: Tümünü seç

SQL.Add(' UPPER(FIELD_NAME collate pxw_Turk) LIKE UPPER(''%'+Edit1.Text+'%'' collate pxw_Turk)');
Bunun haricinde, firebird veritabanı için hazır fonksiyonlar var.(UdF Library diye aratın)
İyi çalışmalar.
gercek_16
Üye
Mesajlar: 108
Kayıt: 19 Haz 2005 02:42
Konum: mersin

Re: türkçe karakter sorunu

Mesaj gönderen gercek_16 »

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.
Cevapla