AGB  ·  Datenschutz  ·  Impressum  







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

XML-Datei Encoding

Ein Thema von Jack and the Juice · begonnen am 16. Jan 2011 · letzter Beitrag vom 18. Jan 2011
Antwort Antwort
Jack and the Juice

Registriert seit: 15. Jan 2011
Ort: Lübeck
52 Beiträge
 
#1

XML-Datei Encoding

  Alt 16. Jan 2011, 14:55
Datenbank: XML • Version: k.A. • Zugriff über: ClientDataSet
Hallo,

ich habe eine kleines Problem mit einer XML-Datei.

Zur Laufzeit wird überprüft, ob die XML-Datei besteht und falls nicht wird sie erstellt.

Delphi-Quellcode:
ClientDataSet1.FileName := ExtractFilePath(ParamStr(0))+'daten.xml';
  if FileExists(ClientDataSet1.FileName) then
      ClientDataSet1.Open
  else begin
    with ClientDataSet1.FieldDefs do begin
      Clear;
      Add('feld', ftString, 40);
    end;
    ClientDataSet1.CreateDataSet;
  end;
Problematisch sind nun jedoch Umlaute oder 'ß', denn das verarbeitet die XML-Datei nicht (ich tippe mal aufgrund von UTF-8). Ich bräuchte die XML-Datei also in ISO 8859-1 Kodierung.

Genau da ist mein Problem. Wie gehe ich hier am Besten vor?

Grüße und so,
Jackandthejuice
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

AW: XML-Datei Encoding

  Alt 16. Jan 2011, 21:06
Hallo,

vor den ersten Gehversuchen mit einer neuen Komponente mache ich mich mit ausnahmslos all ihren Eigenschaften und Methoden vertraut. Das Kapitel zur Methode SaveToFile() erklärt mir, dass die Komponente (bei meiner Version) drei Encodings beherrscht. Außerdem erfahre ich dort, dass nur diese Methode mir ein Abweichen vom Standard-Encoding erlaubt.

Du solltest Dir ein minimales Projekt erstellen und mit den unterschiedlichen Einstellungen experimentieren. Wenn Du nicht weiterkommst, dann stellst Du dein Projekt samt Testdaten hier bereit und jemand wird sich um dein Problem kümmern.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: XML-Datei Encoding

  Alt 16. Jan 2011, 21:46
Ich habe bei einem ähnlichen Problem pragmatisch gehandelt. Du kannst deine Strings ganz einfach in ASCII-Zahlen zerlegen und die dann hexadezimal speichern. Das kann jede Kodierung. Leider wirst du bei dieser Methode zwangsweise Probleme mit Unicode bekommen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Jack and the Juice

Registriert seit: 15. Jan 2011
Ort: Lübeck
52 Beiträge
 
#4

AW: XML-Datei Encoding

  Alt 18. Jan 2011, 17:07
Hallo,

zunächst vielen Dank für die Antworten. Vielleicht nochmal um das im Voraus zu klären. Wenn ich wie Marabu schrieb mit
ClientDataSet.SaveToFile(filename,dfXMLUTF8); sichere, können dann Umlaute in der XML gespeichert und auch fehlerlos im ClientDataSet ausgelesen werden? Ich bin leider nicht wirklich versiert in Kodierungen.

Gruß,
Jackandthejuice
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

AW: XML-Datei Encoding

  Alt 18. Jan 2011, 17:47
Probiere es doch einfach aus. Überprüfen kannst Du das Ergebnis ganz einfach mit NotePad oder einem anderen Unicode-fähigen Editor. Zum Testen kannst Du ja dein existierendes Projekt verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: XML-Datei Encoding

  Alt 18. Jan 2011, 19:52
Zum Testen kannst Du ja dein existierendes Projekt verwenden.
Das ist nicht so einfach, da in XML die Kodierung nicht über ein BOM, sondern über das Encoding-Attribut des ersten XML-Prozessor-Tags geregelt wird.

Normale Texteditoeren reagieren aber nur auf das BOM.
OK, das neue Notepad in Win7 scheint auch das XML-Encoding-Tag zu beachten. (falls ich mich richtig erinnere)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 06:27 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