Dit kan een taak zijn voor de mb_detect_encoding()
functie.
In mijn beperkte ervaring ermee, is het niet 100% betrouwbaar wanneer het wordt gebruikt als een generieke "coderingssniffer" - het controleert op de aanwezigheid van bepaalde tekens en bytewaarden om een gefundeerde gok te maken - maar in dit enge geval (het moet onderscheid maken tussen UTF-8 en ISO-8859-1 ) het zou werk.
<?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 />";
?>
u kunt onjuiste resultaten krijgen voor strings die geen speciale tekens bevatten, maar dat is geen probleem.