AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Immer wieder Probleme mit D2009, Indy und Sonderzeichen...

Immer wieder Probleme mit D2009, Indy und Sonderzeichen...

Ein Thema von romber · begonnen am 7. Mai 2009 · letzter Beitrag vom 7. Mai 2009
Antwort Antwort
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Immer wieder Probleme mit D2009, Indy und Sonderzeichen...

  Alt 7. Mai 2009, 14:11
Hallo!

Immer wieder tauchen bei mir die Probleme mit Umlauten und Sonderzeichen in den Webseiten. Ich finde einfach keine universelle Lösung für alle Zeichenprobleme! Dazu kommt noch Delphi 2009 mit der verdammten Unicode. Ich bin total verwirrt und kriege ne Krise!

Folgendes Problem:
Mithilfe von IdHTTP bekomme ich die XML-Daten von einem Webservice.
Delphi 2007: Ich brauche nicht mal irgendwelche Konvertierungsfunktionen aufrufen, die Umlaute und Sonderzeichen werden richtig angezeigt.
Delphi 2009: Anstelle von umlauten und Sonderzeichen stehen irgendwelche komische Zeichenketten. Ich versuche mit UTF8ToAnsi die empfangenen Daten zu Konvertieren, klappt aber auch nicht zu 100%. Umlaute werden zwar konvertiert, aber auch nur die kleine Buchstaben. Z.B. anstelle von großen Umlaute und "ß" stehen nun Fragenzeichen "??" oder sonnst noch was.

Warum ist es mit Delphi 2009 so kopliziert geworden? Ich will doch nichts aussergewöhnliches, ich will doch nur den einfachen Text aus dem Internet laden und richtig anzeigen!!! Ich weiss ja, dass der einfache String seit Delphi 2009 ein UnicodeString ist. Ich versuche auch meine String-Variablen als AnsiString zu deklarieren, alles bringt nichts.

Wo ist das Problem? Was muss man mit Delphi 2009 grundsätzlich beachten, wen man eine einfache XML-Datei mit den stinknormalen deutschen Sätzen aus dem Internet laden und in einem Memo (z.B.) richtig anzeigen möchte?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.350 Beiträge
 
Delphi 12 Athens
 
#2

Re: Immer wieder Probleme mit D2009, Indy und Sonderzeichen.

  Alt 7. Mai 2009, 14:33
Diese "??" könnten wiederrum aus deiner eigenen String/UnicodeString-zu-AnsiString-Konvertierung stammen.

Wenn Unicodezeichen nicht nach ANSI konvertiert werden können, so werden diese per Standard in je ein "?" umgewandelt.

Was stand denn vor der Übergaben an deinen AnsiString in dem String/UnicodeString drinnen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.174 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Immer wieder Probleme mit D2009, Indy und Sonderzeichen.

  Alt 7. Mai 2009, 14:38
Hast du dir schon Indy-Updates gezogen. AFAIK hat hier Indy noch einige Bugs.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#4

Re: Immer wieder Probleme mit D2009, Indy und Sonderzeichen.

  Alt 7. Mai 2009, 16:32
@himitsu
Da wo nach der Konvertierung Fragezeichen stehen, waren for der Konvertierung kommische Zeichen, ähnlich wie die anstelle der Umlauten auch. Kleine Umlaute werden nach der Konvertierung richtig dargestellt, große Umlaute und ß nicht.

@Bernhard Geyer
Ich versuche jetzt die Indys zu aktualisieren. Kann es wirklich an den Indys liegen?
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Immer wieder Probleme mit D2009, Indy und Sonderzeichen.

  Alt 7. Mai 2009, 17:18
Es lag voll tatsächlich an den Indys. Ich habe Indys aktualisiert es sieht gut aus bi jetzt.

Vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.350 Beiträge
 
Delphi 12 Athens
 
#6

Re: Immer wieder Probleme mit D2009, Indy und Sonderzeichen.

  Alt 7. Mai 2009, 17:30
vermutlich haben die Indys es als 1-Byte-Code (ANSI bzw. UTF-8) runtergeladen und es intern (vor der Konvertierung ala UTF-8-zu-ANSI schon in einen "String" geschoben .. blöd nur, daß UTF-8-Code außerhalb des ASCII-Bereichs liegt und so vermutlich einfach MultiByteToWideChar es als Ansi behandelte, statt UTF-8 und so die UTF-8-Codierung kaputtkonvertierte
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz