dedlfix: utf-8 codierung von DB zum browser fehlerhaft

Beitrag lesen

Hi!

Für alle, die sich wie ich Stunden des Unglücks mit utf-Codierung rumgequält haben und sich fragen, warum die Daten zwar korrekt in der Datenbank gespeichert, aber fehlerhaft ausgespuckt werden, schaut mal nach, ob Ihr aus früheren Zeiten vielleicht noch htmlentities in der Abfrage verwendet. Die verkorksten bei mir nämlich die ansonsten stringenten utf-Einstellungen wieder.

Du müsstest mal das Szenario genauer beschreiben, damit es in Zeichenkodierungsdingen nicht so bewanderte, an die du dich ja richtest, eindeutig mit ihrer Situation vergleichen können. htmlentities() kann man an vielen Stellen falsch einbauen. Wenn du diese Funktion vor der Ausgabe in Richtung HTML drin hattest, so hattest du vermutlich den charset-Parameter vergessen zu setzen, als du von der Default-Kodierung ISO-8859-1 umgestiegen bist. Komplett entfernen solltest du die Funktion nicht, sondern sie gegen htmlspecialchars() austauschen. Zusammen mit der ordnungsgemäßen Angabe des charset-Parameters im HTTP-Header Content-Type und im gleichenamigen Meta-Element ist es ausreichend, nur die HTML-eigenen Zeichen zu beachten (das ist allerdings eine Pflicht-Anforderung, wenn man sicher programmieren möchte).

Lo!