Dies kann ein Job für mb_detect_encoding()
sein
Funktion.
Nach meiner begrenzten Erfahrung damit ist es nicht 100% zuverlässig, wenn es als generischer "Codierungs-Sniffer" verwendet wird - es prüft auf das Vorhandensein bestimmter Zeichen und Bytewerte, um eine fundierte Vermutung anzustellen - aber in diesem engen Fall (muss es nur zwischen UTF-8 und ISO-8859-1 unterscheiden ) es sollte Arbeit.
<?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 />";
?>
Sie erhalten möglicherweise falsche Ergebnisse für Zeichenfolgen, die keine Sonderzeichen enthalten, aber das ist kein Problem.