Die Kodierung der Datei ist UTF8 ohne BOM.
Und woher soll dann die Auslesefunktion das wissen?
Der Standard ist nunmal
ANSI, also wird auch als
ANSI ausgelesen.
Zu dem Vorschlag von DeddyH:
Aufpassen, denn dein Delphi 2010 ließt es als
ANSI aus, konvertiert es nach
Unicode (
ANSI>
Unicode) und Utf8Decode würde das
Unicode jetzt als RawString (hoffentlich zufällig mit einer Umkodierung nach
ANSI) übernehen, versuchen als UTF-8 zu interpretieren und dann nach versuchen nach
Unicode umzuwandeln.
Ich weiß auch garnicht, ob UTF-8 von der verwendeten
WinAPI, welche in TIniFile gekapselt ist, überhaupt unterstützt wird.
Verwende stattdessen z.B. TMemIniFile und gib als Encoding das UTF-8 explizit an.
TMemIniFile arbeitet intern mit einer TStringList, welche es auch ohne BOM uslesen und konvertieren kann, danach werden alle Leseoperationen intern über diese StringList abgehandelt.