MudGuard: Kodierungen von Deutschen Umlauten und '&', '<' und '>'

Beitrag lesen

Hi,

ich wandele fuer HTML wie folgt um:
$FilterObjekt =~ s/ä/ä/g;
$FilterObjekt =~ s/ö/ö/g;
$FilterObjekt =~ s/ü/ü/g;
$FilterObjekt =~ s/Ä/&Auml;/g;
$FilterObjekt =~ s/Ö/&Ouml;/g;
$FilterObjekt =~ s/Ü/&Uuml;/g;
$FilterObjekt =~ s/ß/ß/g;
fuer XML moechte ich, damit der Validator nicht meckert u.a. auch das kaufmaennische Und umwandeln:

$FilterObjekt =~ s/&/&/g;

Wandele ich mit Perl so wie im ersten Block beschrieben um, "funzt" es in der Browseranzeige. Aber wenn ich dann "fuer XML" das kaufmaennische Und umwandeln moechte, dann "funzt" es beim XML-Validator(XMLSpy), aber die Anzeige im Browser "schaltet" von 'ü' auf '&Uuml;' um.

Die Reihenfolge ist entscheidend! ZUERST die & umwandeln. Danach die anderen Zeichen.

Hast Du eigentlich die Entities für die Umlaute in Deiner DTD/Schema für XML definiert? Die sind bei XML nämlich nicht standardmäßig vorhanden...

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/