mein Texteditor nimmt langsam gestalt an und konnte bisher auch alle gängigen Dateien öffnen. Ich benutze eine Ableitung von QPlainTextEdit als centralWidget.
Doch wenn ich versuche, eine UTF-8-Datei darin zu öffnen, erscheint ein "" am Anfang der Datei (BOM vermute ich?) und alle Zeichen, die nicht über die ersten 128 ASCII-Einträge hinausgehen, werden ebenfalls richtig angezeigt. Aber Sonderzeichen (» usw.) werden eben als Fragezeichen oder als ganz komische Buchstaben-Kobination dargestellt.
Verstanden habe ich, dass man die ersten Bytes auf EF BB BF prüfen muss, um eventuell eine UTF-8 Datei zu erkennen.
Aber bei der Umsetzung im Editor hört es auf. Der Editor soll ja nicht nur UTF-8, sondern auch den normalen ISO-Zeichensatz darstellen können. Und was vor allem wichtig ist: Wie man eine Datei öffnet, soll sie auch - wenn man nichts verändert - wieder abgespeichert werden.
Wie kann ich in Qt eine Datei, die beliebig kodiert ist (wichtig wären ASCII, UTF-8 ) in einen QString einlesen, wieder in eine Datei abspeichern und richtig in einem Q(Plain)TextEdit darstellen?
QTextStream::setCodec() ist mir schon aufgefallen, die Zeichen werden aber trotzdem, nach langem rumprobieren, nicht richtig angezeigt.
Ich hoffe, man versteht mich.
Vielen Dank im Voraus,
Amgon