Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save youkidearitai/566e348e2e23301063ef5a95579d4efd to your computer and use it in GitHub Desktop.
Save youkidearitai/566e348e2e23301063ef5a95579d4efd to your computer and use it in GitHub Desktop.
--TEST--
mb_check_encoding() marked as valid UTF-8 when valid UTF-8 strings
--EXTENSIONS--
mbstring
zend_test
--SKIPIF--
<?php
if (function_exists('zend_test_is_string_marked_as_valid_utf8') !== true) {
exit("zend_test extension is not included, skip this test");
}
?>
--FILE--
<?php
echo "Invalid UTF-8\n";
$utf8str = "\xc0\xaf";
var_dump(zend_test_is_string_marked_as_valid_utf8($utf8str));
var_dump(mb_check_encoding($utf8str, "UTF-8"));
var_dump(zend_test_is_string_marked_as_valid_utf8($utf8str));
echo "Valid UTF-8\n";
$utf8str = "abc 日本語 Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞";
var_dump(zend_test_is_string_marked_as_valid_utf8($utf8str));
echo "Valid UTF-8 with mb_check_encoding\n";
$utf8str = hex2bin(bin2hex($utf8str));
var_dump(zend_test_is_string_marked_as_valid_utf8($utf8str));
var_dump(mb_check_encoding($utf8str, "UTF-8"));
var_dump(zend_test_is_string_marked_as_valid_utf8($utf8str));
?>
--EXPECT--
Invalid UTF-8
bool(false)
bool(false)
bool(false)
Valid UTF-8
bool(true)
Valid UTF-8 with mb_check_encoding
bool(false)
bool(true)
bool(true)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment