How to check if an array of bytes is a valid UTF-8 string in PHP

1 Answer

0 votes
function is_valid_utf8(string $data): bool {
    return mb_check_encoding($data, 'UTF-8');
}

$arr1 = "Hello, 世界";
$arr2 = pack("C*", 0xa3, 0xed, 0xfd);

echo is_valid_utf8($arr1) ? "true\n" : "false\n";
echo is_valid_utf8($arr2) ? "true\n" : "false\n";



/*
run:

true
false

*/

 



answered Jul 8, 2025 by avibootz
...