Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Euro Symbol in CDATA Section (https://www.delphipraxis.net/85562-euro-symbol-cdata-section.html)

Alfonso 1. Feb 2007 14:56


Euro Symbol in CDATA Section
 
Ich habe folgenden XML Code:
XML-Code:
<COMM>
<![CDATA[Kommentar mit ü und € &euro;]]></COMM>
Mit msxml lese ich es aus mittels SelectSingleNode('//COMM').

Es komt folgendes zurück:
Kommentar mit ü und ? &euro;

Wie kann ich das € - Symbol auslesen bzw. wie muss ich es in de CData-Section kodieren?

Wenn ich die Datei mit dem Editor öffne, ist das € Symbol da. Im IE wird das Symbol auch nicht angezeigt.

Am beginn der XML-Datei steht:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-15" ?>
oder
XML-Code:
<?xml version="1.0" encoding="ISO-8859-15" ?>
Gruß
Alfonso

marabu 1. Feb 2007 16:42

Re: Euro Symbol in CDATA Section
 
Hallo Alfonso,

vermutlich hast du dein XML-Dokument mit einem Windows-Editor geschrieben, was Code Page 1252 bedeutet und ein Euro-Symbol mit dem Code-Value 128. Wenn du in der XML-Deklaration ein encoding ISO-8859-15 angibst, dann gehört dazu ein Euro-Symbol mit dem Code-Value 164. Überprüfe das bitte.

Grüße vom marabu

Daniel G 1. Feb 2007 16:44

Re: Euro Symbol in CDATA Section
 
Zitat:

Zitat von Alfonso
Am beginn der XML-Datei steht:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-15" ?>
oder
XML-Code:
<?xml version="1.0" encoding="ISO-8859-15" ?>

Was ist jetzt der Unterschied? :gruebel:

Alfonso 1. Feb 2007 17:34

Re: Euro Symbol in CDATA Section
 
Am beginn der XML-Datei steht:

XML-Code:
<?xml version="1.0" encoding="ISO-8859-15" ?>
oder

XML-Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Ich erstelle die Datei in Excel mit msxml in dem ich den Inhalt einer Zelle in die CDATA Section schreibe.

marabu 1. Feb 2007 18:33

Re: Euro Symbol in CDATA Section
 
Hast du dir denn mal dein Dokument in einem Hex-Viewer angesehen? Excel hin, Editor her: Ich erwarte einen Hex-Wert $80 für das Euro-Symbol in deinem Dokument. Eines der schmerzlichsten Handicaps des ISO-8859-1 encoding ist das vollständige Fehlen des Euro-Symbols.

Alfonso 2. Feb 2007 07:20

Re: Euro Symbol in CDATA Section
 
$80 ist enthalten.
Auch mit ISO-8859-15 (wo das € enthalten ist) tut's nicht.

Wer weis noch rat.
Gruß
Alfonso

marabu 2. Feb 2007 08:16

Re: Euro Symbol in CDATA Section
 
Hallo Alfonso,

du sollst mir nicht den falschen Wert ($80) bestätigen, sondern diesen korrigieren. In Beitrag #2 habe ich dich darauf aufmerksam gemacht, dass du das Euro-Symbol mit ALT+0164 eingeben musst, wenn du encoding ISO-8859-15 verwendest. Nun mach doch mal hin.

Geduldige Grüße

Alfonso 2. Feb 2007 10:07

Re: Euro Symbol in CDATA Section
 
Hallo Marabu,

nichts für ungut. Man wird dich wohl missverstehen können. Ich hatte verstanden es muss $80 stehen. Deswegen musst du doch nicht gleich aus der Haut fahren. Jetzt habe ich es verstanden.
Wieso gibt es eigentlich zwei Kodierungen für das € Zeichen? ($80 und 164)

Gruß
Alfonso

marabu 2. Feb 2007 12:51

Re: Euro Symbol in CDATA Section
 
Hallo Alfonso,

Zitat:

Zitat von Alfonso
... Deswegen musst du doch nicht gleich aus der Haut fahren. ...

wie kommst du denn auf die Idee? Ich bin ganz ruhig. Die Gedanken kommen und gehen. Nichts kann mich stören.

Zitat:

Zitat von Alfonso
... Wieso gibt es eigentlich zwei Kodierungen für das € Zeichen? ($80 und 164) ...

Der Codewert 128 ($80) für das Euro Currency Symbol ist eine Erfindung von Microsoft für die Windows eigene CP1252, der Code-Wert 164 ($A4) ist auf dem Mist der ECMA gewachsen und der eigentliche Standard heute ist UTF-8 (dort dann Code-Wert 8364).

Wirklich freundliche Grüße


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