Nach langen Jahren Pause wollte ich mal wieder was mit Delphi machen, habe dann Lazarus gefunden, und bin an folgendem Problem hängen geblieben:
Ich möchte Textdateien in ein Memo einlesen, bearbeiten und dann wieder zurückschreiben. Wäre kein Problem, wenn das Memo Umlaute lesen könnte. Sie werden sämtlich durch ein "?" ersetzt.
Ich habe verschiedene CharSets bei Eigenschaft Font ausprobiert, alles mit dem nämlichen Ergebnis.
Hat jemand eine Idee?
Lazarus arbeitet standardmäßig mit UTF-8 Kodierung, während dein System (wahrscheinlich Windows) eine Ansikodierung verwendet. Du musst also vor der Zuweisung den Text in UTF-8 umkonvertieren:
Delphi-Quellcode:
begin
DeinText := {lade Text aus Datei}
Memo1.Lines.Text := SysToUTF8(DeinText); // alternativ sollte auch AnsiToUTF8 funktionieren
end;
Siehe dazu auch
diese Seite des Lazarus Wikis
Gruß,
Sven