PHP: UTF-8 Check einfach
mb_detect_encoding($str, 'UTF-8', true) != 'UTF-8'
oder
!mb_detect_encoding($str, 'UTF-8', true)
Damit kann man dem Problem begegnen, dass ein doppeltes UTF-8 Encoding in PHP einfach den String kaputt macht und weil die Funktion selbst nicht prüft, ob ein Encoding überhaupt nötig ist.