try { var_dump(Utility::ValidateUTF8(chr(0xef) . chr(0xbb) . chr(0xbf))); } catch (\Exception $e) { var_dump($e->getMessage()); } try { var_dump(Utility::ValidateUTF8(chr(0xef) . chr(0xff) . chr(0xa))); } catch (\Exception $e) { var_dump($e->getMessage()); } try { var_dump(Utility::ValidateUTF8(chr(0xc0) . chr(0xa))); } catch (\Exception $e) { var_dump($e->getMessage()); } try { var_dump(Utility::ValidateUTF8(chr(0xc0) . chr(0xba))); } catch (\Exception $e) { var_dump($e->getMessage()); } # U+D800 ~ U+DFFF try { var_dump(Utility::ValidateUTF8(chr(0xed) . chr(0xa0) . chr(0x80))); } catch (\Exception $e) { var_dump($e->getMessage()); } try { var_dump(Utility::ValidateUTF8(chr(0xef) . chr(0xff))); } catch (\Exception $e) { var_dump($e->getMessage()); }