Zitat:
Denke nicht das es Autodetect gibt, da es für Windows 1252 Zeichensatz kein BOM gibt
Es gibt für alle
ANSI kein BOM.
Das bekannte BOM ist im Prinzip nur ein
Unicode-Zeichen #$FFFE (eventuell war es auch #$FEFF ... vergess das immer), welches mit dem Text kodiert wurde.
(Das Zeichen #$FFFE als UTF-8 kodiert, ergibt die bekannten 3 Byte des UTF-8-BOM)
Alle Zeichensätze, die kein
Unicode darstellen können, können also dieses BOM nicht besitzen.
Da würde dann maximal ein "?", oder welches Ersatzzeichen bei der Umwandlung von
Unicode verwendet wurde, dort stehen.
(Drum find ich es im Windows besser, wenn dort ohne BOM der Standard die lokale
ANSI-Codepage ist, da es für UTF-8 ein BOM gibt)
Die einzige und unsichere Lösung wäre also, wenn man den Text analysiert, bzw. erst nach dem BOM sieht und das verwendet, oder versucht es als UTF-8 zu laden und wenn das knallt, es dann als
ANSI zu behandeln.