indy 10 encoding sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
de_la_vega_66
Üye
Mesajlar: 2
Kayıt: 13 Tem 2016 11:57

indy 10 encoding sorunu

Mesaj gönderen de_la_vega_66 »

Arkadaşlar merhaba,

Delphi 7'de Indy 10 kullanarak XML post işlemi yapıyorum. XML de CData tagı olmasına rağmen Türkçe karakterler bozuk gidiyor. Indy 10'un encoding ayarını bulamadım. Konuyla ilgili yardımınızı rica ediyorum.

Şimdiden teşekkürler.
de_la_vega_66
Üye
Mesajlar: 2
Kayıt: 13 Tem 2016 11:57

Re: indy 10 encoding sorunu

Mesaj gönderen de_la_vega_66 »

Sorunu zor da olsa çözdüm. Buyrun sorunumu çözen kod bloğu

Kod: Tümünü seç


uses 
IdSSLOpenSSL;

function TForm1.GETHTTPXML(adres, strMesaj: string): string;
var
  AuthNetHTTP: TIdHttp;
  AuthNetSSL: TIdSSLIOHandlerSocketOpenSSL;
  XMLRequest: TStringStream;
  XMLResponse: String;
 begin
      XMLRequest := TStringStream.Create(strMesaj);

      AuthNetHTTP := TidHTTP.Create(nil);

      AuthNetSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
      AuthNetSSL.SSLOptions.Method := sslvSSLv3;
      AuthNetSSL.DefStringEncoding := IndyTextEncoding_UTF8;

      AuthNetHTTP.IOHandler := AuthNetSSL;
      AuthNetHTTP.Request.ContentType := 'application/xml';
      AuthNetHTTP.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
      AuthNetHTTP.ConnectTimeout := 10000;
      AuthNetHTTP.ReadTimeout := 10000;

      try
          XMLResponse := AuthNetHTTP.Post(adres, XMLRequest, IndyTextEncoding_UTF8);
          AuthNetHTTP.Disconnect;
      except on e: exception do
          Result := '1000';
      end;

      AuthNetHTTP.Free;
      AuthNetSSL.Free;
      XMLRequest.Free;

      if XMLResponse<>'' then
          Result := XMLResponse
      else
          Result := '1000';

 end;
Cevapla