Dette kan være et job for mb_detect_encoding()
funktion.
I min begrænsede erfaring med det, er det ikke 100 % pålideligt, når det bruges som en generisk "kodningssniffer" - det tjekker for tilstedeværelsen af visse tegn og byteværdier for at lave et kvalificeret gæt - men i dette snævre tilfælde (det bliver nødvendigt at skelne kun mellem UTF-8 og ISO-8859-1 ) det bør arbejde.
<?php
$text = $entity['Entity']['title'];
echo 'Original : ', $text."<br />";
$enc = mb_detect_encoding($text, "UTF-8,ISO-8859-1");
echo 'Detected encoding '.$enc."<br />";
echo 'Fixed result: '.iconv($enc, "UTF-8", $text)."<br />";
?>
du kan få forkerte resultater for strenge, der ikke indeholder specialtegn, men det er ikke et problem.