Sven Rautenberg: Umlaute in Formular werden in HTML-Entities umgewandelt

Beitrag lesen

Moin!

Dabei ist mir aufgefallen, dass im PHP-Skript z. B. statt ä nur ä ankommt, was natürlich beim Regex und später auch beim DB-Eintrag zu Problemen führt.

Wenn sowas passiert, machst du irgendwas ziemlich falsch. In $_POST stehen NIE Entities wie ä drin, jedenfalls nicht bei den mir bekannten Browsern.

Was passieren kann - dann aber als unbedingt zu vermeidender Unfall zu sehen ist - sind numerische Zeichenreferenzen der Form Ӓ. Das ist dann der Hinweis, dass der Browser ein Encoding verwenden muß, in dem sich das tatsächlich eingegebene Zeichen nicht darstellen läßt. Leider wird keine Unterscheidungsmöglichkeit mitgeliefert für den Fall, dass der Benutzer wirklich diese numerische Zeichenreferenz eingegeben hat, und nicht das damit gemeinte Zeichen. Andere Browser ersetzen stattdessen nicht codierbare Zeichen durch Fragezeichen.

Ich verwende durchgängig iso-8859-1 als Charset, Basis ist XAMPP. Liegt das am Webserver, an PHP, an HTML und was muss ich tun, damit in PHP im POST ä, ö, ü, ß und nicht ä, ö, ü, ß stehen?

Da in $_POST nie Entities stehen, machst du irgendwas, was du uns nicht erzählt hast.

- Sven Rautenberg

--
"Love your nation - respect the others."