dedlfix: Textdatei Importiert: Ersetzen von Sonderzeichen nicht moeglich

Beitrag lesen

echo $begrüßung;

ich hab folgendes merkwuerdiges Problem. Ich habe eine Textdatei in der HTML Code steht. Leider werden beim export aus einem Programm mit dem Namen Endnote nicht die Umlaute/Sonderzeichen in HTML Code exportiert.

Warum sollten sie? Ist etwa außerdem die verwendete Zeichenkodierung nicht angegeben worden?

Daher lese ich die Datei ueber folgenden Code ein und versuche die Umlaute/Sonderzeichen selber zu ersetzen:

$raw = array("ä","ö","ü","Ä","Ö","Ü","ó","ß"," & ", "ó","é");

In welcher Kodierung liegen die Eingangsdaten vor? Welche Kodierung verwendest du für dein Script?

Das Merkwuerdige ist nun das keines der Umlaute/Sonderzeichen gefunden und ersetzt wird.

Wird daran liegen, dass keine Übereinstimmung zustande kommt. Beispielsweise verwenden UTF-8 und ISO-8859-1 nur die ersten 128 Bytewerte gemeinsam, und die Umlaute liegen außerhalb davon.

Was komischerweise teilweise geht ist wenn ich utf8_decode auf den String anwende, jedoch wird mit dann zu beginn ein ? mit einer Leerzeile ausgegeben

Das kann daran liegen, dass da ein Zeichen nicht richtig UTF-8-kodiert ist. Kann aber auch andere Ursachen haben. Ein Hexdump sollte Aufschluss geben.

ausserdem werden so alle bis auf ein Sonderzeichen ein S mit einem umgedrehten Dach (vielleicht ein Buchstabe aus dem Osten?) ersetzt.

Das Zeichen Š kommt in ISO-8859-1 nicht vor, kann also nicht von UTF-8 nach ISO-8859-1 umkodiert werden.

Wenn es keine Möglichkeit gibt, die verwendete Kodierung beizubehalten - was immer der bevorzugte Weg sein sollte - wäre es günstig, du schaust dir die Funktion htmlentities() an, und da auch mal die optionalen Parameter jenseits der ersten Stelle.

echo "$verabschiedung $name";