PHP: htmlentities() zerstört UTF-8

htmlentities() ist ja eine Recht nette PHP Funktion um schnell das ganzen HTML aus einem String zu bekommen, weil man den z.B. (als Code) ausgeben möchte. Aber: Die Funktion macht UTF-8 kaputt! Also muss man entweder sowas wie utf8_decode(htmlentities($str)) machen, oder man schaut sich die Argumente noch mal genau an, und stellt fest, dass man das Charset auf explizit angeben kann. Diese Variante lässt UTF-8 am Leben:


htmlentities($str, ENT_COMPAT | ENT_HTML401, "UTF-8");

Weiterlesen