Einzelnen Beitrag anzeigen

Maliko

Registriert seit: 20. Jun 2019
89 Beiträge
 
Delphi 10.3 Rio
 
#1

Umlaute nach laden von Textdatei kaputt (Encodingprobleme)

  Alt 2. Feb 2022, 10:36
Moin,

ich hab hier momentan ein sehr merkwürdiges Problem. Und zwar habe ich eine API geschrieben, über welche Base64-codierte Dateien anhand eines JSON-Strings übergeben werden können. Diese Speichere ich dann ganz normal im Dateisystem.

Delphi-Quellcode:
mStream := TBytesStream.Create(TBase64Encoding.Base64.DecodeStringToBytes(mRechnung.Edifakt));

try
  mTempDir := TIniManager.GetIniString('Default', 'TempDir');

  if not DirectoryExists(mTempDir + aMandantid) then
  begin
    ForceDirectories(mTempDir + aMandantid);
  end;

  mStream.SaveToFile(mTempDir + aMandantid + '\' + mRechnung.FileName);
Wenn ich mir die Datei im Windows Editor oder in Notepad++ anschaue, wird mir als Encoding UTF-8 angezeigt. Sowohl im Editor als auch in Notepad++ sind die Umlaute heile.

Wenn ich diese Datei (es ist immer eine Textdatei) nun versuche in eine StringList zu laden, dann sind die Umlaute plötzlich kaputt.

mStringList.LoadFromFile('Pfad zur Datei', TEncoding.UTF8); Hat vielleicht jemand eine Idee was ich da falsch gemacht habe?

Vielen Dank schon einmal im Voraus.

Viele Grüße
Maliko

Geändert von Maliko ( 2. Feb 2022 um 10:40 Uhr)
  Mit Zitat antworten Zitat