Ini mungkin pekerjaan untuk mb_detect_encoding()
fungsi.
Dalam pengalaman saya yang terbatas dengan itu, itu tidak 100% dapat diandalkan ketika digunakan sebagai "sniffer pengkodean" generik - Ini memeriksa keberadaan karakter dan nilai byte tertentu untuk membuat tebakan yang berpendidikan - tetapi dalam kasus sempit ini (itu harus membedakan hanya antara UTF-8 dan ISO-8859-1 ) harus bekerja.
<?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 />";
?>
Anda mungkin mendapatkan hasil yang salah untuk string yang tidak mengandung karakter khusus, tetapi itu tidak masalah.