TStringList nutzt doch hoffentlich CreateFileW und wandelt seine UTF-8-Strings selber um?
Statt dem älternen AssignFile könnte/sollte man sich dann vielleicht doch mal mit TStringList anfreunden.
Selbst wenn
TStringList
CreateFileW
nutzen würde (tut es nicht, am Ende der Kette steht ein
CreateFileA
), würde das nichts nutzen, da per Definition die Units aus der
RTL und der
FCL die systemspezifische Kodierung verwenden. Unter Linux kann dies durchaus UTF-8 sein, aber zum Beispiel auf einem deutschen Windows ist dies CP1252. Das würde also bei der hypothetischen Verwendung von
CreateFileW
bedeuten, dass irgendwo in der Aufrufkette von
LoadFromFile
hinunter zu
CreateFileW
eine
Ansi -> UTF-16 Konvertierung stattfinden würde und dann wären deine UTF-8-Zeichen nur noch Müll.
Gruß,
Sven