#1 23. Juni 2013 htmlspecialchars & htmlentities "emtpy" encoding-Bug in PHP 5.4.x PHP 5.4.4 bzw die ganze 5.4.x sind in den Funktionen für htmlspecialchars und htmlentities sowie htmlentities_decode nicht abwärtskompatibel zu php 5.2 oder 5.3 auch das setzen des mb_internal_encoding funktioniert bei diesen nicht (bei anderen schon, was auch der eigentliche Bug ist) Normal war ISO-8859-1 das default - dies wurde auf UTF-8 geändert - so passiert es, wenn andere unerwartete Codierungen eingefügt werden, dass die Funktionen einen leeren string zurückgeben. (Beispielweise führen Umlaute wie Ä Ö Ü zu diesem Fehler ) Eine Möglichkeit das zu Fixen ist wenn ihr alle Funktionen durch überarbeitete nach altem Standard ersetzt: PHP: function htmlXspecialchars ( $string , $ent = ENT_COMPAT , $charset = 'ISO-8859-1' ) {return htmlspecialchars ( $string , $ent , $charset );} function htmlXentities ( $string , $ent = ENT_COMPAT , $charset = 'ISO-8859-1' ) {return htmlentities ( $string , $ent , $charset );} function htmlX_entity_decode ( $string , $ent = ENT_COMPAT , $charset = 'ISO-8859-1' ) {return html_entity_decode ( $string , $ent , $charset );} Den Code fügt ihr oberhalb ein (oder in die php.ini durch prepend_file= ) und ersetzt dann die Funktionen entsprechend durch diese. Der Bug ist auch hier gelistet: https://bugs.php.net/bug.php?id=61354 Weitere Quelle: Fix htmlspecialchars() in PHP 5.4 for Latin1 (ISO-8859-1) (http://ufive.unibe.ch/?c=php54entitiesfix) + Multi-Zitat Zitieren
#2 24. Juni 2013 AW: htmlspecialchars & htmlentities "emtpy" encoding-Bug in PHP 5.4.x Wenn man doch eh alle Funktionsaufrufe ersetzen muss, dann kann mans doch auch gleich richtig hinschreiben, oder nicht? + Multi-Zitat Zitieren
#3 27. Juni 2013 AW: htmlspecialchars & htmlentities "emtpy" encoding-Bug in PHP 5.4.x Ja wenn man die stellen kennt und es überschaubar bleibt wäre das die saubere Lösung, allerdings ist das etwas aufwendig wenn man viele php-scripte hat, die alle nicht mehr funktionieren und kurzfristig funktionieren sollen. Die Ersetzung von htmlspecialchar nach htmlXspecialchar ist einfacher als mit einem komplexen regex den hinteren teil zu ersetzen sofern die Parameter nicht schon vorhanden sind. + Multi-Zitat Zitieren