htmlentities funktioniert nicht
misterminister
- php
0 Tom0 idubn
0 Stefan Eickhoff
Hallo, ich bin ein ziemlicher Neuling auf dem Gebiet php und weiss deswegen bei einem Problem nicht weiter:
Ich habe ein Formular-Eingabefeld, bei welchem die Eingabe bestehen bleibt wenn das Formular sich selbst ausführt. Das klappt auch , nur werden leider Umlaute ziemlich zerpflückt. Ich habe es auf diese Art mit htmlentities versucht:
Der obere Teil:
$name=isset($_POST['name']) ? $_POST['name'] : "";
und dann das dazugehörige Stück unten:
<?php echo '<input type="text" name="name" size="50" maxlength="25" id="input" value="' . htmlentities($name) . '">'; ?>
Wie gesagt, ich habe keine Ahnung warum die Umlaute zerstört werden. Falls es weiter hilft, mein charset ist utf-8
Vielen Dank und MfG,
misterminister
Hello,
<?php echo '<input type="text" name="name" size="50" maxlength="25" id="input" value="' . htmlentities($name) . '">'; ?>
Wenn Du wirklich utf-8 als Codierung benutzt, dann benötigst Du kein htmlentities() mehr.
Alle Zeichen werden in Bytes oder Bytesgruppen mit 7Bits abgebildet.
Zur Überprüfung benutze ich immer gerne
http://web-sniffer.net
Schau Dir an, welche Codierung der Server sendet.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Also >, <, " und & würde ich schon maskieren, geht via htmlsepcialchars().
Gruß idubn
Guten Abend!
Hallo, ich bin ein ziemlicher Neuling auf dem Gebiet php und weiss deswegen bei einem Problem nicht weiter:
Schau in die Dokumentation.
Auch für Funktionen die man zu kennen glaubt findet man da oft nützliche Informationen.
Z.B. das es einen optionalen Parameter gibt um den Zeichensatz explizit anzugeben.
http://de2.php.net/manual/de/function.htmlentities.php
Viele Grüße
Stefan