Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

Pixel64 schrieb am 25.July.2018, 12:07:22 in der Kategorie pc.software

Umlaute (Gästebuch) werden nicht richtig dargestellt.

Hi,

> Es geht darum, dass in einer homepage beim Eintrag ins Gästebuch die
> Umlaute (z.B. wenn der Name "Müller" lautet) nicht richtig (sondern nur
> mit einem Sonderzeichen) dargestellt werden.
> Nun weiß ich nicht mehr, wo und mit welchem Befehl man diese Umlaute, die
> ein Gast evtl. einträgt, umwandeln kann. Mein Versuch mit
> "htmlentities(...) war auf alle Fälle nicht erfolgreich.

Was passiert denn genau - bzw. wie sieht die Ausgabe aus, wenn htmlentities nicht funktioniert? Wird gar nichts gemacht?

> // $name=htmlentities($name)
> // da streikt er
> '".addslashes(htmlspecialchars($name))."',
> '".addslashes(htmlspecialchars($email))."',

Wie sieht denn der Streik aus? Die Ausgabe wäre schon interessant. Wenn man es der Reihe nach durchgeht:


$name=htmlentities("Müller"); # -> Müller
addslashes(htmlspecialchars("Müller"); # -> Müller


Sieht die Ausgabe im Beispiel dann etwa so aus? Also im Beispiel "Müller"? Du wandelst hier quasi das "ü" in "ü" um (was gewünscht wäre) und im letzten Schritt dann nochmals das "&" in ein "&" via htmlspecialchars. Vielleicht liegt ja hier schon das Problem?

Ansonsten und generell - mal auf folgende Optionen achten:
- Auslieferung der Webseite im Charset UTF-8? (Webserver)
- Default Charset von PHP -> UTF-8?
- Kodierung der Script-Datei selbst: UTF-8?
-> Für die Datenbank-Verarbeitung ggf. utf8_encode() und utf8_decode() nutzen, dann kannst du die ÜÖß quasi unbehandelt lassen und das giftige Zeug via htmlspecialchars() entfernen.

Gruß,
Marc

Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz