s.a
Test Projemde
adet Form var
Form1 (Server)
Form2(Client)
Form1 de ındy bileşenlerinden
1 Adet TIdTcpServer
bir adet button
bir adet Edit koydum
bir adet ListBox
Form2(Client) ındy bileşenlerinden
1 Adet TIdTcpClient
bir adet button
bir adet Edit koydum
bir adet ListBox
client ve server Porlarını Host iplerini ayarladım
bilgi gönderirken Türkçe Karakterler soru işareti (?) olarak gözüküyor neden olabilir acaba
Indy ile Tcp/Ip Programlama Türkçe Karakter Problemi ÇÖZÜLDÜ
Indy ile Tcp/Ip Programlama Türkçe Karakter Problemi ÇÖZÜLDÜ
En son theSinan tarafından 01 Nis 2014 11:34 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
Delphi 7 mi kullanıyorsun?
Bize iyilik yaraşır.
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
XE5 kullanıyorum
INDY versiyonu 10.6.0.5040
türkçe karakter için bir ayar yapmam gerekiyor mu
INDY versiyonu 10.6.0.5040
türkçe karakter için bir ayar yapmam gerekiyor mu
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
uses IdGlobal ekle
ilk bağlantı kurduğunda
IdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8; fakli seçeneklerde var.
aynı işlemi server tarafında da yapman lazım
ilk bağlantı kurduğunda
IdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8; fakli seçeneklerde var.
aynı işlemi server tarafında da yapman lazım
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
IdTCPClient1.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8; bu şekilde Hata veriyor
Hata mesajı
[bcc32 Error] Unit1.cpp(165): E2034 Cannot convert '_di_IIdTextEncoding()' to '_di_IIdTextEncoding'
Full parser context
Unit1.cpp(160): parsing: void BilgiGonder(TIdContext *)
/----------------------------------------------------
böyle
AContext->IOHandler->DefStringEncoding = enUTF8;
yazınca hata vermiyor
ancak türkçe karakterleri gönderdikten Sonra
Gönderdiğim kelimeyi Gösteriyor ancak Türkçe İçren Kelimenin Tamamı görüntülenmiyor
Sonra Donuyor
çünkü ikinci Mesajı Gönderdiğimde Almıyor
ancak içerisine türkçe harf yazmadan
istedeğim kadar mesaj gönderebiliyorum
ancak
Hata mesajı
[bcc32 Error] Unit1.cpp(165): E2034 Cannot convert '_di_IIdTextEncoding()' to '_di_IIdTextEncoding'
Full parser context
Unit1.cpp(160): parsing: void BilgiGonder(TIdContext *)
/----------------------------------------------------
böyle
AContext->IOHandler->DefStringEncoding = enUTF8;
yazınca hata vermiyor
ancak türkçe karakterleri gönderdikten Sonra
Gönderdiğim kelimeyi Gösteriyor ancak Türkçe İçren Kelimenin Tamamı görüntülenmiyor
Sonra Donuyor
çünkü ikinci Mesajı Gönderdiğimde Almıyor
ancak içerisine türkçe harf yazmadan
istedeğim kadar mesaj gönderebiliyorum
ancak
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
uses IdGlobal
eklediniz mi.
eklediniz mi.
Re: Indy ile Tcp/Ip Programlamada Türkçe Karakter Problemi
Sorunun Neden Kaynaklandığını Buldum Ama Çözümü ÇÖZÜMÜDE
Yazma Yaparken
AContext->Connection->IOHandler->Write(Form1->Edit4->Text.Length());
AContext->Connection->IOHandler->Write(Form1->Edit4->Text);
Okuma Yaparken
Int iMessageUzunluk = AContext->Connection->Socket->ReadLongInt();
String Message = AContext->Connection->Socket->ReadString(iMessageUzunluk);
diye Okumaya çalışıyorum
Türkçe Karakterleri sayarken String Uzunluğunu aldığımdan String uzunluğu kadar sayıyor
ancak
Türkçe Karakterleri Okurken Türkçe Karakterleri 2 saydığından tıkanıyor
çözümü
yazarken Sonuna Terminatör Ektedir yani Sonlandırıcı
AContext->Connection->IOHandler->WriteLn(Form1->Edit4->Text+"|x|");
okurken eklediğim sonlandırıcıya kadar Okuyorum Sorun Düzeldi
Form1->ChatClient->IOHandler->ReadLn("|x|");
Yardımlarınız için Teşekkürler
Yazma Yaparken
AContext->Connection->IOHandler->Write(Form1->Edit4->Text.Length());
AContext->Connection->IOHandler->Write(Form1->Edit4->Text);
Okuma Yaparken
Int iMessageUzunluk = AContext->Connection->Socket->ReadLongInt();
String Message = AContext->Connection->Socket->ReadString(iMessageUzunluk);
diye Okumaya çalışıyorum
Türkçe Karakterleri sayarken String Uzunluğunu aldığımdan String uzunluğu kadar sayıyor
ancak
Türkçe Karakterleri Okurken Türkçe Karakterleri 2 saydığından tıkanıyor
çözümü
yazarken Sonuna Terminatör Ektedir yani Sonlandırıcı
AContext->Connection->IOHandler->WriteLn(Form1->Edit4->Text+"|x|");
okurken eklediğim sonlandırıcıya kadar Okuyorum Sorun Düzeldi
Form1->ChatClient->IOHandler->ReadLn("|x|");
Yardımlarınız için Teşekkürler
-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Indy ile Tcp/Ip Programlama Türkçe Karakter Problemi ÇÖZ
verileri byte olarak alsanız ve byte olarak gönderseniz hiç böyle sorunlarla karşılaşmazsınız. Ayrıca widestring olarak veri gönderdiğinizde length alırken herhangi bir sorun olmaz.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...