AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ClientDataSet mit XML und UTF8

Ein Thema von urdelphist · begonnen am 29. Sep 2017 · letzter Beitrag vom 7. Okt 2017
Antwort Antwort
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#1

AW: ClientDataSet mit XML und UTF8

  Alt 4. Okt 2017, 22:33
Hm, das sehe ich etwas anders.

Die beiliegende XML-Datei ist keine ANSI-Datei! Einfach mal mit einem HEX-Editor öffnen, schon sieht man, dass die Umlaute mit 16 Bit kodiert sind. Ganz simples UTF8.
Ich habe nie etwas anderes behauptet. Ich habe nur gesagt: Wenn Delphi eh keine WideStrings unterstützt und dein Delphi kein UTF-8, dann kodiere deine Datei doch einfach in ANSI Windows-1252 (solange das Programm nicht auf Systemen mit anderer Locale ausgeführt werden soll).

Dein Delphi lädt die Datei falsch. Meins lädt sie richtig, auch mit anderen Encodings. Es geht hier nur um das Laden der Datei, das hat mit deinem Programm überhaupt nichts zu tun sondern wird von Delphi erledigt – oder in deinem Fall eben nicht. Aber es ist nicht die Aufgabe deines Programms, die Datei zu dekodieren.

Es gibt ein Feld für WideString, aber ich bekomme mein Delphi nicht dazu, das zu unterstützen. Es meint, das Feld sei kein Widestring sondern ein String. Ich verstehe nicht, woran es das festmacht.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
urdelphist

Registriert seit: 20. Sep 2007
14 Beiträge
 
#2

AW: ClientDataSet mit XML und UTF8

  Alt 4. Okt 2017, 22:49
Leider ist die Vorgabe, dass die XMl-Dateien als UTF8 kodiert sind, weil diese aus anderen Systemen stammen. Anfangs habe ich mit unterschiedlichen Kodierungen einiges ausprobiert, hat aber nie zum Erfolg geführt. Es war immer das gleiche fehlerhafte Verhalten.

Und ich bin mir relativ sicher, dass es in der Datei db.data.pas liegt. Und was meinst Du mit "erledigt Delphi"? Wer ist Delphi? Das Programm sollte den Code ausführen, den ich programmiere bzw per Komponenten einfüge. Der Fehler liegt in der VCL.

Es kann doch nicht angehen, dass das Funktionieren von der Delphi-Version abhängt. Ich sehe in meinen 5 Zeilen Code keinen Fehler, was Du mit der D2009 ja auch bestätigt hast. Leider haben die wieder irgendwo was verschlimmbessert, und das zieht sich bis in neueste Version. Eigentlich ein schlechter Scherz und ein sicheres Zeichen dafür, dass nicht vernünftig getestet wird. Stattdessen Featuritis an allen erdenklichen Stellen. Fehlerfreiheit und Robustheit zählen nicht mehr. Hauptsache mindestens im Jahrestakt neue Versionen raushauen, die wieder neue Fehler beinhalten. Und das bei diesen Preisen...
Man stelle sich nur vor, in größeren Projekten sich durch ein Update der IDE so was schönes einzufangen.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#3

AW: ClientDataSet mit XML und UTF8

  Alt 4. Okt 2017, 23:04
Ja, ich meine mit "erledigt Delphi" eigentlich "erledigt die VCL".

An deinem Code ist einfach falsch, dass du die Eingabe des Nutzers vor dem Speicher noch konvertierst. Das ist eben auch nicht dein Job, zumindest an dieser Stelle. Ich habe in meiner DB.pas von D2009 keine Referenz auf irgendein Encoding gefunden.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
urdelphist

Registriert seit: 20. Sep 2007
14 Beiträge
 
#4

AW: ClientDataSet mit XML und UTF8

  Alt 7. Okt 2017, 16:11
Ich konvertiere aber in meinem Beispielprogramm gar nicht. Deshalb, und auch weil es unter D2009 offensichtlich fehlerfrei läuft, mache ich in meinem Code auch keinen Fehler. Der Fehler liegt eindeutig in der VCL in neueren Versionen.

Wen die Lösung und die entsprechend notwendige Änderung interessiert, kann es hier nachlesen. Gilt für alle Versionen die neuer sind als D2010.

http://www.sql.ru/forum/1124627/tcli...odirovka-v-xml

Wieder mal sehr schön, dass offensichtliche Fehler in neuere Versionen reinprogrammiert werden, ohne dass es entsprechende Korrekturen gibt. Stattdessen immer neue Versionen mit neuen Fehlern zu höheren Preisen. Glaube nicht, dass das noch lange gut geht.
  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 15:08 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