public static function mbstring_binary_safe_encoding($reset = false)
{
static $encodings = array();
static $overloaded = null;
if (is_null($overloaded)) {
$overloaded = function_exists('mb_internal_encoding') and ini_get('mbstring.func_overload') & 2;
}
if ($overloaded === false) {
return;
}
if (!$reset) {
$encoding = mb_internal_encoding();
array_push($encodings, $encoding);
mb_internal_encoding('ISO-8859-1');
}
if ($reset and $encodings) {
$encoding = array_pop($encodings);
mb_internal_encoding($encoding);
}
}