xml post yaparken Türkçe karakter problemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

Arkadaşlar merhaba;

uzaktaki bir xml dosyasına post ettiğim verilerde "ğşçüö" gibi karakterler çıkmıyor buna program içerisinden yapabileceğimiz birşey varmıdır?Sitedeki XL verisi UTF-8 kodlamalıdır.Ona müdahale edemiyoruz akış sırasında bir encode seçeneğim varmıdır acaba?

İyi çalışmalar..
Resim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen Battosai »

Kod: Tümünü seç


function URLEncode(const S: RawByteString): RawByteString;
  const
    NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-', '/', ':', '=', '?'];
  var
    i, idx, len: Integer;

  function DigitToHex(Digit: Integer): AnsiChar;
  begin
    case Digit of
      0..9: Result := AnsiChar(Chr(Digit + Ord('0')));
      10..15: Result := AnsiChar(Chr(Digit - 10 + Ord('A')));
    else
      Result := '0';
    end;
  end; // DigitToHex

begin
  len := 0;
  for i := 1 to Length(S) do
    if S[i] in NoConversion then
      len := len + 1
    else
      len := len + 3;
  SetLength(Result, len);
  idx := 1;
  for i := 1 to Length(S) do
    if S[i] in NoConversion then
    begin
      Result[idx] := S[i];
      idx := idx + 1;
    end
    else
    begin
      Result[idx] := '%';
      Result[idx + 1] := DigitToHex(Ord(S[i]) div 16);
      Result[idx + 2] := DigitToHex(Ord(S[i]) mod 16);
      idx := idx + 3;
    end;
end; // URLEncode
Örnek;

Kod: Tümünü seç

var
url:string;
XML : UTF8String;
List:TstringList;
Begin
List:=TStringList.create;
List.loadfromfile('....');
XML:=List.Text;
XML := UTF8String(XML);
XML := URLEncode(XML);
url:='www.adres.com/xmlal/php?XML='+string(XML);
idhttp.post(url);
List.free;
End;

Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

Çok teşekkür ederim @Battosai hemen deniyorum.Çok sağol. :bravo:
Resim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

özür dilerim uses e eklemem gereken kütüphane hangisi?
Resim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen Battosai »

Hata mesajı nedir ?
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

undeclared identifier rawbytestring
Resim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

undeclared identifier rawbytestring
Resim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen Battosai »

Delphi sürümünüz nedir ? Ben D2009 kullanıyorum yanılmıyorsam bu veri tipi 2009 ile geldi ama uses'a strUtils kütüphanesini ekleyip bir daha dene istersen...
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

delphi 7 kullanıyorum evet dediğiniz gibi strutis ekli olmasına rağmen tanımıyor başka bir çözüm yolu var mıdır acaba?
Resim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: xml post yaparken Türkçe karakter problemi

Mesaj gönderen G.Arkas »

@Battosai yardımların için çok teşekkür ederim ancak tek kelimelik bir kodla işi çözdüm böyle bir sorunla karşılaşan arkadaşlarım içinde ışık olması açısından yayımlıyorum
tek yapmanız gereken şey "AnsiToUtf8" bloğuna almak otomatik olarak "çüğöş" harflerini UTF-8 olarak encode ediyor.

İyi çalışmalar...
Resim
Cevapla