I file sorgenti sono salvati in codifica UTF-8, meglio senza BOM, e non ANSI, vero?
Comunque se ti può tornare utile, questa funzione testa se una stringa è in utf-8, usala per il debug:
Codice PHP:
function is_utf8($s)
{
for ($i=0; $i<strlen($s); $i++) {
if (ord($s[$i]) < 0x80) continue; # 0bbbbbbb
elseif ((ord($s[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
elseif ((ord($s[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
elseif ((ord($s[$i]) & 0xF8) == 0xF0) $n=3; # 11110bbb
elseif ((ord($s[$i]) & 0xFC) == 0xF8) $n=4; # 111110bb
elseif ((ord($s[$i]) & 0xFE) == 0xFC) $n=5; # 1111110b
else return false; # Does not match any model
for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
if ((++$i == strlen($s)) || ((ord($s[$i]) & 0xC0) != 0x80))
return false;
}
}
return true;
}