Zitat:
Die UTF-8-Kodierung des BOM besteht aus der Bytesequenz EF BB BF, die in nicht UTF-8-fähigen Texteditoren und Browsern meist als ISO-8859-1-Zeichen  erscheinen. Bei UTF-8 stellt sich das Problem der Byte-Reihenfolge zwar nicht, doch ein BOM am String- oder Dateianfang ist erlaubt, um die Verwendung von UTF-8 als Kodierung zu kennzeichnen. Eine sichere Unterscheidung zwischen UTF-8 und den ISO-8859-Zeichensätzen ist dadurch zwar nicht gewährleistet, da in den 8-Bit-Zeichensätzen alle Bytesequenzen erlaubt sind, auch die UTF-8-Kodierung des BOM; wenn aber die Alternative speziell UTF-8 oder ISO 8859-1 ist, ist die pragmatische Annahme, dass die Zeichenfolge  nicht gemeint ist, durchaus üblich.
aus Wikipedia
Wenn ich das richtig verstanden habe dann sollte so alles erledigt sein:
Delphi-Quellcode:
if length(mystring)>2 and
mystring[1]=#$EF and
mystring[2]=#$BB and
mystring[3]=#$BF then
delete(mystring,1,3);
if length(mystring)>0 ....
Gruß
k-h