Функция определяет является ли строка UTF
<?php
function is_utf8($string) {
/*
** Функция определяет является ли строка UTF
*/
for ($i=0; $i<strlen($string); $i++) {
if (ord($string[$i]) < 0x80) continue;
elseif ((ord($string[$i]) & 0xE0) == 0xC0) $n=1;
elseif ((ord($string[$i]) & 0xF0) == 0xE0) $n=2;
elseif ((ord($string[$i]) & 0xF8) == 0xF0) $n=3;
elseif ((ord($string[$i]) & 0xFC) == 0xF8) $n=4;
elseif ((ord($string[$i]) & 0xFE) == 0xFC) $n=5;
else return false;
for ($j=0; $j<$n; $j++) {
if ((++$i == strlen($string)) || ((ord($string[$i]) & 0xC0) != 0x80)) return false;
}
}
return true;
}
?>