3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php // UTF-16 surrogate codepoints have no valid encoding in any UTF form. // https://en.wikipedia.org/wiki/UTF-16#U.2BD800_to_U.2BDFFF // If they could be validly represented in UTF-8 their bytes // would be: $high = "\xED\xa1\x92"; // codepoint D852 $low = "\xED\xBD\xA2"; // codepoint DF62 $pair = $high.$low; var_dump( @\iconv('UTF-8', 'UTF-8', $high) === false, @\iconv('UTF-8', 'UTF-8', $low) === false, @\iconv('UTF-8', 'UTF-8', $pair) === false ); /* Should be: * bool(true) * bool(true) * bool(true) * * Result on Windows with 7.0 or 7.1 is: * bool(false) * bool(false) * bool(false) */
Output for 5.6.0 - 5.6.30, hhvm-3.12.14 - 3.17.3, 7.0.0 - 7.2.8
bool(true) bool(true) bool(true)