Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TIni speichert manchmal UTF8 statt ANSI

  Alt 11. Jun 2024, 11:01
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.
  Mit Zitat antworten Zitat