dedlfix: Umlaut-Salat aus Datenbank

Beitrag lesen

Tach!

Vorher:
htmlentities($_POST['variante2']);
Nachher:
htmlentities($_POST['variante2'],ENT_QUOTES,$CHARSET);
Besser wäre bei
mysql-client-encoding()
iconv-get-encoding()
zu lesen und ggf. mit

Das Lesen der eingestellten Werte bringt keinen gesteigerten praktischen Nutzen. Einfach mit

mysql-set-charset()

die Kodierung setzen, die man verwendet, und fertig ist. Man spart sich dabei das Lesen des Wertes samt bedingtem Draufreagieren.

iconv-set-encoding()
und (nur im Notfall) mit
iconv()

Dieser Notfall darf nur dann auftreten, wenn man mit (fremden) Systemen kommunizieren muss, die andere Kodierungen verwenden. Wenn man alles unter eigener Kontrolle hat, sollte man tunlichst auf die durchgehende Verwendung _einer_ Kodierung achten. Da HTML bereits mit nichts geringerem als Unicode arbeitet, ergibt sich eigentlich zwingend, dass man mit einer Unicode-Kodierung arbeitet, wenn man keinen Zeichenverlust erleiden möchte.

Der/die OP hat aber anscheinend keine Lust, das fehlerhafte System grundlegend zu korrigieren, sondern hat nur nach einer "funktionierenden" Patch gesucht. Es bringt da auch nicht viel, noch mysql_set_charset() anzuwenden, weil eh schon alles verASCIIt wurde.

dedlfix.