hi,
wie MudGuard schreibt, kann man UTF-8 nicht zuverlässig erkennen (höchstens ausschließen) und so scheitert dein Test an einer ISO-kodierten Datei, die den Testtext von dedlfix enthält und benennt sie als UTF-8. Du solltest zumindest dazuschreiben, dass diese Erkennung zum Teil auf Raten basiert.
Die Unterscheidung der Fälle:
7 bit (ascii)
8 bit (iso)
mehr als 8 bit (utf8)
gemischt (utf8 passt, iso passt auch)
würde ich nicht als Raten bezeichnen. Das lässt sich exakt feststellen, wobei das natürlich vom Entwicklungsstand der Unicode-Unterstützung der jeweiligen Programmiersprache abhängt.
Hotti