Hallo,
nach einer notwendigen Umstellung auf UTF-8 habe ich nun Probleme mit einigen Sonderzeichen (bzw. sprachspezifischen Buchstaben), die sich im Quellcode befinden.
Als Beispiel wären die Zeichen 'Ä' und 'Č' (C mit einem umgedrehten Zirkumflex) zu nennen. Beide haben den erweiterten ASCII-Wert 196 (zumindest laut ord('Ä') und ord('Č')).
Die gesamte Ausgabe befindet sich in der Variable $seite. Nun möchte ich alle in $seite vorkommenden 'Ä' in '& Auml;' umwandeln (Leerzeichen ist aufgrund der Anzeige nur hier vorhanden). Also:
Das Problem dabei ist nun, dass auch das 'Č' umgewandelt wird. Jedoch nicht in ein einfaches 'Ä', sondern in 'Ä�', bzw. als Quellcode-Ansicht in '& Auml;& #65533;' ... Was das zweite Zeichen genau darstellt, kann ich leider nicht sagen.
Ob nun mit dem zweiten Zeichen oder ohne - der eigentliche Buchstabe (Č) ist nicht mehr vorhanden, sondern wurde kurzerhand in ein A Umlaut verwandelt.
Gibt es hierfür Abhilfe? Eine Funktion bzw. Möglichkeit, wirklich nur das Zeichen zu ersetzen, das man ersetzen will? Mit ereg_replace() komme ich auf dasselbe Ergebnis.
(Das händische Ersetzen der Umlaut-Zeichen im Quelltext selbst ist aufgrund einer Datenmenge von mehreren Hundert Dateien kaum machbar. Momentan arbeite ich mit PHP 5 auf Win, später läuft das jedoch unter PHP 4.1x auf Linux.)
Vielen Dank schon im Vorraus,
pb
nach einer notwendigen Umstellung auf UTF-8 habe ich nun Probleme mit einigen Sonderzeichen (bzw. sprachspezifischen Buchstaben), die sich im Quellcode befinden.
Als Beispiel wären die Zeichen 'Ä' und 'Č' (C mit einem umgedrehten Zirkumflex) zu nennen. Beide haben den erweiterten ASCII-Wert 196 (zumindest laut ord('Ä') und ord('Č')).
Die gesamte Ausgabe befindet sich in der Variable $seite. Nun möchte ich alle in $seite vorkommenden 'Ä' in '& Auml;' umwandeln (Leerzeichen ist aufgrund der Anzeige nur hier vorhanden). Also:
PHP-Code:
$seite = str_replace('Ä', 'Ä', $seite);
Ob nun mit dem zweiten Zeichen oder ohne - der eigentliche Buchstabe (Č) ist nicht mehr vorhanden, sondern wurde kurzerhand in ein A Umlaut verwandelt.
Gibt es hierfür Abhilfe? Eine Funktion bzw. Möglichkeit, wirklich nur das Zeichen zu ersetzen, das man ersetzen will? Mit ereg_replace() komme ich auf dasselbe Ergebnis.
(Das händische Ersetzen der Umlaut-Zeichen im Quelltext selbst ist aufgrund einer Datenmenge von mehreren Hundert Dateien kaum machbar. Momentan arbeite ich mit PHP 5 auf Win, später läuft das jedoch unter PHP 4.1x auf Linux.)
Vielen Dank schon im Vorraus,
pb
Kommentar