3v4l.org

run code in 300+ PHP versions simultaneously
<?php mb_internal_encoding('UTF-8'); $value = 'g' . chr(0xa4) .'eld'; $orignalValue = $value; mb_substitute_character('entity'); $value = mb_convert_encoding($value, 'UTF-8'); if (mb_strlen($value, 'UTF-8') < mb_strlen($orignalValue) || preg_match('|[^\x09\x0A\x0D\x20-\xD77F\xE000-\xFFFD]|e', $value)) { // value not ISO-8859-15 or UTF8 $value = base64_encode($orignalValue); } var_dump($value);

preferences:
50.2 ms | 402 KiB | 5 Q