Der Martin: Umlaute und Sonderzeichen ändern

Beitrag lesen

Hallo Rainer,

verschreckt habt ihr mich nicht ;-)

da bin ich ja beruhigt ...

  1. Es ist ein sogenanntes Affenformular.

Das ist nur insoweit von Bedeutung, als wir damit wissen, dass nicht ein zweites Script oder Dokument im Spiel ist.

  1. Es wurde alles mit Notepad++ von mir geschrieben

Auch unerheblich. Wichtig ist nur die Information, dass es in UTF-8 gespeichert wurde.

  1. Mein Firefox sagt mir Kodierung: ISO-8859-1

Ja, und das passt nicht zur wirklichen Codierung des Scripts. Also musst du diese Angaben korrigieren. Die erste, wichtigere Stelle ist der HTTP-Header. Das ist im Prinzip eine Sache der Serverkonfiguration; aber da du ja sowieso PHP verwendest, kannst du damit die Defaulteinstellungen des Servers übersteuern, indem du den entscheidenden Header mit PHP ausgibst:

header('Content-Type: text/html; charset=UTF-8');

Wichtig ist, dass vor dieser PHP-Anweisung noch keine Ausgabe an den Browser geht, auch keine BOM oder Leerzeile. Diese Anweisung sollte daher ganz am Scriptanfang stehen.
Die zweite Stelle ist deine meta-Angabe, die als Ersatz hergenommen wird, wenn das Dokument nicht per HTTP übertragen wird oder der Server keine Angabe zur Zeichencodierung macht. Dort sollte also genau dasselbe stehen wie in dem obigen Header.

Also, wo sollen denn nun unterrschiedliche Kodierungen in Script uns Ausgabe herkommen?

Gar nicht. Ich gehe nach wie vor davon aus, dass sowohl das Script selbst als auch seine Ausgabe in UTF-8 sind. Aber du (bzw. dein Server) gibst dem Browser eine andere, falsche Information.

Ich hoffe, ich konnte nun wieder etwas Fahrplan an den Bahnhof bringen ...

Ciao,
 Martin

--
Computer funktionieren grundsätzlich nicht richtig.
Wenn doch, hast du etwas falsch gemacht.