Entwickler-Ecke

Basistechnologien - Probleme mit Umlauten


Nersgatt - Fr 21.08.09 10:17
Titel: Probleme mit Umlauten
Hallo,

ich habe ein Problem mit Umlaten.
Ich habe ein Projekt, das eine XML-Datei herunter läd (mit Indy). Dabei werden die Umlaute nicht korrekt interpretiert. "Meistens bewölkt" wird als "Meistens bewvlkt" dargestellt. Nun habe ich versuchsweise in einem neuen Projekt probiert und dort werden die Umlaute korrekt dargestellt. Ich verstehe nicht, warum das so ist! In einem Projekt sind die Umlaute falsch, in einem neuen Projekt sind die Umlaute korrekt. Woran kann das liegen?

Hier der Code:


Delphi-Prism-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs);
var url : String;
    idHttp : TIdHttp;

    xmlText : String;
begin
  {Läd die XML-Datei von Google herunter}

  url := TIdURI.UrlEncode('http://www.google.com/ig/api?weather=Nordhorn,Germany&hl=de');

  idHttp := TIdHttp.Create;
  try

    xmlText := idHttp.Get(Url);
    Messagebox.Show(xmlText);


  finally
    idHttp.Free;
  end;

end;


Das Projekt ist Delphi 2006.net (WinForms)

Wäre toll, wenn mir jemand helfen kann.

Danke,
Jens


Kha - Fr 21.08.09 18:07

Delphi.NET :eyecrazy: ...

Merkwürdig. Der Verursacher kann ja eigentlich nur Indy.NET sein, aber die Chancen stehen nicht schlecht, dass du der einzige Nutzer davon im gesamten Forum bist :| .
Das BCL-Äquivalent wäre übrigens System.Net.WebRequest.


Nersgatt - Fr 21.08.09 18:34

user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Delphi.NET :eyecrazy: ...

:puke: <- Der passt besser :mrgreen:

Zitat:
Merkwürdig. Der Verursacher kann ja eigentlich nur Indy.NET sein, aber die Chancen stehen nicht schlecht, dass du der einzige Nutzer davon im gesamten Forum bist :| .
Das BCL-Äquivalent wäre übrigens System.Net.WebRequest.

Das ist in der Tat mal eine Überlegung wert, hier auf Indy zu verzichten. Ich denke, das werde ich mir in der nächsten Woche mal anschauen.

Ich hatte in einer Indy-Newsgroup nachgefragt und man hat mir gesagt, dass die Indy-Version, die ich verwende, die Daten immer als Ascii interpretiert und ich sie selbst in der Richtigen Codepage interpretieren müsste. Also habe ich das kleine Testprojekt gemacht um etwas mit System.Text.Encoding rumzuspielen. Und dabei ist mir aufgefallen, dass in den Testprojekt es ohne weiteres Zutun schon so funktioniert, wie ich es wollte. Wohlgemerkt, exakt der selbe Quellcode, selbe Indy-Version, nur in einem anderen Projekt. Ist mir vollkommen unverständlich.

Danke für den Tipp,
Jens