• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zeichenkodierung

Status
Für weitere Antworten geschlossen.

Giro

Neues Mitglied
Hallo,

ich habe ein Gästebuch geschrieben, in dem alle Einträge vor dem speichern mit htmlentities() bearbeitet werden, damit wenn z.B. jemand deutsche Umlaute in seinem Eintrag verwendet, diese korrekt umgewandelt werden.

Ich will jetzt aber, dass auch Zeichen aus anderen Zeichensätzen benutzt werden können, was im Moment nicht funktioniert.
Wenn ich z.B. ein japanisches 日 verwende wird dieses im Quelltext zu 日 und somit bei der Anzeige zu &#26085

Wie ist das trotzdem zu realisieren?
 
Morgen,

Es gibt einen fast unbekannten 4. Parameter bei htmlentities(): Double-Encoding. Wird der Parameter auf false gesetzt, dann werden bereits maskierte Zeichen nicht erneut maskiert.
PHP:
htmlentities($str, ENT_QUOTES, "UTF-8", false);
Das sollte dein Problem lösen. Allerdings leuchtet mir nicht so ganz ein an welcher Stelle deine Zeichen zum ersten Mal maskiert werden.
Du solltest die doch einfach so in der Datenbank bzw. Textdatei stehen haben und dann nur einmal bei der Ausgabe maskieren.

Gruß
Voodoo
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben