Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi TXMLDocument probleme mit Umlauten (https://www.delphipraxis.net/76005-txmldocument-probleme-mit-umlauten.html)

day 28. Aug 2006 16:29


TXMLDocument probleme mit Umlauten
 
Hallo,
Ich verwende die TXMLDocument Komponente um eine XML-Struktur auszulesen. Jetzt enhält mein XML-File allerdings Umlaute. Beim Laden des Files bekomme ich eine EDOMParseException die besagt, dass ein ungültiger Character gefunden wurde.
Hat jemand eine Idee wie ich diese problem lösen kann? Kann dieser parser gar keine Umlaute?

Bernhard Geyer 28. Aug 2006 16:31

Re: TXMLDocument probleme mit Umlauten
 
Ich vermute mal du hast deine Umlaute nicht XML-Konform codiert.
Zeig einfach mal deine XML-Datei auszugsweise (mit der Headerangabe zum Codierungsshema).

day 29. Aug 2006 07:09

Re: TXMLDocument probleme mit Umlauten
 
hallo
mit dem encoding="ISO-8859-1" hat es funktioniert. Aber warum geht es mit UTF-8 / 16 nicht. Die umlaute müssten dort doch auch enthalten sein. Wie sieht es aus mit japanischen sonderzeichen. Sind die im ISO-8859-1 enthalten?
Delphi-Quellcode:
    XMLDocument1.LoadFromStream(TStringStream.Create('<?xml version="1.0" encoding="ISO-8859-1"?> <process name="ä"> </process> '));

Bernhard Geyer 29. Aug 2006 07:37

Re: TXMLDocument probleme mit Umlauten
 
Zitat:

Zitat von day
hallo
mit dem encoding="ISO-8859-1" hat es funktioniert. Aber warum geht es mit UTF-8 / 16 nicht. Die umlaute müssten dort doch auch enthalten sein.

Sicherlich. Das ist kein Problem

XML-Code:
<?xml version="1.0" encoding="UTF-8"?> <process name="ä"> </process>
oder für ein CJK Unified Ideographs-Zeichen:

XML-Code:
<?xml version="1.0" encoding="UTF-8"?> <process name="榖"> </process>
Die Zeichen müssen natürlich entsprechend Codiert sein. Bei encoding="UTF-8" natürlich UTF-8-Codiert.

Zitat:

Zitat von day
Wie sieht es aus mit japanischen sonderzeichen. Sind die im ISO-8859-1 enthalten?

Wenn Du das im ISO-8859-1 darstellen willst mußt du AFAIK die Hex-Codierung dafür nehmen (Ich glaube das müsste so sein :᭔ (Bitte nicht schlagen. Ich habe arbeite nur mit UTF-8-Codierten XML wo ich auch ab und zu mit einem Texteditor reinschaue, aber die sonstigen Codierungen überlasse ich meinen XML-Parser.

Jürgen Thomas 29. Aug 2006 07:55

Re: TXMLDocument probleme mit Umlauten
 
Zitat:

Zitat von day
Wie sieht es aus mit japanischen sonderzeichen. Sind die im ISO-8859-1 enthalten?

Hallo,

für Umlaute dürfte die Auskunft von Bernhard Geyer vollständig sein.

Hiragana und Katakana könnten in ISO-8859-1 enthalten sein; ich weiß es nicht, halte es aber für eher unwahrscheinlich. Kanji (JIS) gehören mit Sicherheit nicht dazu; denn genau dafür wurde Unicode definiert. Lies einmal selbst in der XML-Referenz unter EncodingDecl nach; dort dürftest Du die benötigten Angaben finden.

Gruß Jürgen

PS. Um keine Unklarheiten aufkommen zu lassen: ich kann kein Japanisch, war aber bei der Herstellung des Japanisch-Lehrbuchs von Hadamitzky (jetzt bei Langenscheidt) beteiligt und habe dadurch einiges erfahren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:26 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