3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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(mb_detect_order(), $value);
Output for 5.4.0 - 7.1.0
array(2) { [0]=> string(5) "ASCII" [1]=> string(5) "UTF-8" } string(5) "g?eld"
Output for 5.2.5 - 5.3.29
array(2) { [0]=> string(5) "ASCII" [1]=> string(5) "UTF-8" } string(8) "Z6RlbGQ="
Output for 4.3.4 - 5.2.4
Warning: mb_substitute_character(): Unknown character. in /in/jPgQt on line 7 array(2) { [0]=> string(5) "ASCII" [1]=> string(5) "UTF-8" } string(8) "Z6RlbGQ="
Output for 4.3.2 - 4.3.3
Warning: mb_substitute_character(): Unknown character. in /in/jPgQt on line 7 array(5) { [0]=> string(5) "ASCII" [1]=> string(3) "JIS" [2]=> string(5) "UTF-8" [3]=> string(6) "EUC-JP" [4]=> string(4) "SJIS" } string(8) "Z6RlbGQ="
Output for 4.3.0 - 4.3.1
Warning: mb_substitute_character() [http://www.php.net/function.mb-substitute-character]: Unknown character. in /in/jPgQt on line 7 array(5) { [0]=> string(5) "ASCII" [1]=> string(3) "JIS" [2]=> string(5) "UTF-8" [3]=> string(6) "EUC-JP" [4]=> string(4) "SJIS" } string(8) "Z6RlbGQ="