AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Unicode-Daten richtig empfangen???
Thema durchsuchen
Ansicht
Themen-Optionen

Unicode-Daten richtig empfangen???

Ein Thema von romber · begonnen am 21. Feb 2010 · letzter Beitrag vom 23. Feb 2010
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Re: Unicode-Daten richtig empfangen???

  Alt 22. Feb 2010, 16:55
Hi romber,

Zitat von romber:
Ich sende mit IdHTTP Anfragen an einen Webservice an und erhalte die Daten, die auch Unicode-Zeichen enthalten. Diese Zeichen gehen verloren und werden durch Fragezeichen ersetzt. Wie empfange ich die Unicode-Daten richtig?
Zitat von romber:
Leute! Hilfe! Was muss ich dem IdHTTP beibringen, damit er Unicode-Seiten richtig liefert?
Nichts. Hat auch nichts mit Indy zu tun: Schau Dir ggf. mal die Delphi Hilfe in Delphi 2009/2010 für TStringStream.Create() an:

Per Default sind StringStreams & Co mit Encoding vom Typ TEncoding.ASCII erzeugt.

Du erzeugst also einen ASCII (!) StringStream und füllst diesen mit Unicode Daten (in diesem Fall wahrscheinlich UTF8). Das das jetzt Indy ist, was den Stream füllt, ist für das Problem egal.

Delphi-Quellcode:
ResponseStream := TStringStream.Create('', TEncoding.UTF8); // <-- Encoding setzten!
RequestStream := TStringStream.Create; // hier ggf. auch
RequestStream.WriteString(SERVICE_REQUEST_XML);
try
  http.Post(WEB_SERVICE_URL, RequestStream, ResponseStream);
except
...
end;
[Abschweifen]
Du hast hier an verschiedenen Stellen mögliche Encodings:

Client:
- RequestStream (Delphi)
- RepsonseStream (Delphi)
- HTTP Transfer Klasse (Indy)

Server
- Webseiten Encoding
- Form Encoding (kann von Webseitenencoding abweichen!)

Beiseitig:
- Das Datei Encoding des XML und zusätzlich auch das Inline Encoding (aus dem XML Tag)

Um die Verwirrung komplett zu machen, gibt es in Indy auch noch die Content Charsets und Encodings.
[/Abschweifen]


Hab aber gerade Deinen Code getestet - funktioniert mit UTF8 ohne Probleme.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:35 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