AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy idHTTP Probleme mit Umlaute
Thema durchsuchen
Ansicht
Themen-Optionen

Indy idHTTP Probleme mit Umlaute

Ein Thema von Cyberaxx · begonnen am 18. Jan 2013 · letzter Beitrag vom 19. Jan 2013
 
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

Indy idHTTP Probleme mit Umlaute

  Alt 18. Jan 2013, 21:48
Delphi 2010
Indy 10.5.9.4797

Hallo,

habe da ein hoffentlich kleine Problem mit der Komponente idHTTP und den lieben Umlauten. Diese werden bei mir mit einem ? ersetzt bei der Ausgabe.

Ausgabe im folgenden Beispiel:
Code:
???
Delphi-Quellcode:
function StringToURLString(aUTF8String: String): String;
  var
    I: Integer;
begin
  Result := '';
  for I := 1 to length(aUTF8String) do
    Result := Result + '%' + String(IntToHex(Ord(aUTF8String[i]),2));
end;

procedure TForm7.Button1Click(Sender: TObject);
  var
    Daten: TIdMultiPartFormDataStream;
    Content: string;
    URL: string;
begin
  Daten := TIdMultiPartFormDataStream.Create;
  try
    Daten.AddFormField('test', StringToURLString('öäü -- ÖÄÜ'));
    try
      URL := Format('%s?version=%s&test=%s', [edtHost.Text, edtVersion.Text, StringToURLString('ÖÄÜ')]);
      IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
      //idHTTP1.Request.ContentType:= 'multipart/form-data';
      //Content := UTF8ToUnicodeString(IdHTTP1.Post(URL, Daten));
      Content := IdHTTP1.Post(URL, Daten);
      EmbeddedWB1.LoadFromString(Content);
    except
      on E: Exception do
        ShowMessage('Fehler: ' + #13#10 + E.Message);
    end;
  finally
    Daten.Free;
  end;
end;
Der entsprechende PHP Teil:
Code:
header('Content-Type: text/xml');  
$Entry2 = urldecode($_GET['test']); echo $Entry2; die('');
Rufe ich im Browser direkt http://192.168.11.10/web/apiPostTest...test=%D6%C4%DC aud bekomme ich ÖÄÜ Angezeigt. Nur die Http Komponente macht daraus eben ???

Nutze ich hingegen noch einmal URLEncode dazu dann bekomme ich im Browser folgendes %C3%84%C3%96%C3%9C. Von der HTTP Komponente dagegen %D6%C4%DC

Bei einem Bekannten ebenfalls D2010 und den Indies die bei Delphi im Standard kommen klappt es ohne Probleme rein mit dem URLDecode seitens PHP.
Ist da vielleicht der Wurm in der Indy zu suchen? Bzw hat jemand schon einmal das Problem gehabt und kennt eine Lösung?
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz