Wird die Datei wirklich zu UTF bzw.
Ansi oder umgekehrt, oder sagt nur die Heuristik von Notepad++, dass das so sei? Sieht man in einem HexEditor ein BOM, oder fängt das direkt mit den Textdaten an?
TIniFile basiert meines Wissens nach immer noch auf der Windows-
API, die nur
ANSI kann, was dann zu Problemen mit Umlauten führen kann. TMemIniFile ist eine eigene Delphi-Implementierung, die auf TStringList basiert, und die dann entsprechend verschiedene Kodierungen kann.
Dein Fehler bei der Umstellung auf TMemInifile dürfte auch auf den Umlaut zurückzuführen sein. Wenn der als
ANSI codiert ist (also ein Byte), aber TMemInifile versucht, die Datei als UTF-8 zu interpretieren (da bräuchte ein "ä" zwei Byte), geht das halt schief. Abhilfe: Bein Create (oder beim Lesen?) explizit die Text-Kodierung angeben, und nciht auf den Standard (iirc UTF-8) vertrauen.
The angels have the phone box.