<?php

//# Функция обнаружения того, что строка $str закодирвана UTF-8 (бинарно)
//# Возвращает true если UTF-8 или false если ASCII

function detect_utf($Str) {
 for (
$i=0$i<strlen($Str); $i++) {
  if (
ord($Str[$i]) < 0x80$n=0# 0bbbbbbb
  
elseif ((ord($Str[$i]) & 0xE0) == 0xC0$n=1# 110bbbbb
  
elseif ((ord($Str[$i]) & 0xF0) == 0xE0$n=2# 1110bbbb
  
elseif ((ord($Str[$i]) & 0xF0) == 0xF0$n=3# 1111bbbb
  
else return false# Does not match any model
  
for ($j=0$j<$n$j++) { # n octets that match 10bbbbbb follow ?
   
if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80)) return false;
  }
 }
 return 
true;
}
?>