PHP Funktion utf8_decode

Beispiel:

Normale Ausgabe von Sonderzeichen/Umlauten unter Verwendung des UTF-8 Headers:
echo 'Lesbare Schriftgrößen verwenden';


Die Ausgabe kann dann so aussehen:
UTF8 - Fehler und Probleme mit Umlauten und Sonderzeichen

UTF8 - Fehler und Probleme mit Umlauten und Sonderzeichen


echo utf8_decode('Lesbare Schriftgrößen verwenden');//Ausgabe: Lesbare Schriftgrößen verwenden


Das Problem tritt zumeist auf, wenn im HEAD des HTML Dokuments auf UTF-8 umgestellt wird:
<html><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></html>


Selbiges die PHP Header Information:
header("Content-Type: text/html; charset=utf-8");


Die Ausgabe sollte dann mit dem Filter utf8_decode versehen werden.
Bei Speicherung in die Datenbank, mit dem Zeichensatz UTF-8 sollte beim speichern utf8_encode gearbeitet werden.

Merke:
utf8_encode = beim auslesen aus der Datenbank
utf8_decode = beim speichern in die Datenbank

Eselsbrücke zum einfachen merken: utf8_encode : en = entnehmen aus der Datenbank

Vorsicht vor double utf8_decode und utf8_encode

Die Funktion doppelt auszuführen, führt zu Fehlern. Der String wird dann doppelt konvertiert, was noch mehr unsittliche Zeichen hervorruft. Am bekanntesten sind dann die ? Fragezeichen oder das schwarze Viereck mit Fragezeichen.