Einzelnen Beitrag anzeigen

knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: Delphi und Linux - Encoding-Salat?

  Alt 9. Aug 2019, 16:42
ja, solange ich den Aufruf selber mache, passts. Problematisch wirds, wenn innerhalb der Delphi-Bibliotheken "GetBufferEncoding" aufgerufen wird. Dann kann ich nicht verhindern, dass (unter Linux) ANSI-Dateien fälschlicherweise als UTF-8 betrachtet werden.

Ich habe ja jetzt auch einen funktionierenden Workaround, seit ich gesehen habe, dass ich eine XML-Datei auch per LoadFromStream in die TXMLDocument-komponente bekomme. Da kann ich nämlich die Kodierung auch mitangeben.

Zum Feststellen der Kodierung einer Datei musste ich die Klasse TEncoding erben und die Methoden "GetBufferEncoding" und "GetDefault" überschreiben.

Durch diese neue Klasse TMyEncoding kann ich jetzt auch unter Linux ANSI-Dateien konvertieren und als z.B. UTF-8 oder UTF-16 LE/BE speichern. Das war vorher nicht möglich, weil eben auch wieder von einem falschen Quellformat ausgegangen wurde.
Wolfgang
  Mit Zitat antworten Zitat