Index: branches/5.2.x/core/kernel/utility/email_send.php =================================================================== diff -u -N -r16362 -r16684 --- branches/5.2.x/core/kernel/utility/email_send.php (.../email_send.php) (revision 16362) +++ branches/5.2.x/core/kernel/utility/email_send.php (.../email_send.php) (revision 16684) @@ -1,6 +1,6 @@ _safeCharEncode(162), $this->_safeCharEncode(163), $this->_safeCharEncode(169), - "\$this->_safeCharEncode(\\1)" ); - return strip_tags( preg_replace ($search, $replace, $html) ); + $html = preg_replace($search, $replace, $html); + $that = $this; + $html = preg_replace_callback( + "'&#(\d+);'", + function ($matches) use ($that) { + return $that->_safeCharEncode($matches[1]); + }, + $html + ); + + return strip_tags($html); } /** @@ -719,7 +727,7 @@ * @return string * @access protected */ - protected function _safeCharEncode($ascii) + public function _safeCharEncode($ascii) { return mb_convert_encoding(chr($ascii), $this->charset, 'ISO-8859-1'); }