Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#5

AW: ReadString aus TIniFile fehlerhaft

  Alt 6. Jan 2012, 11:19
Die Kodierung der Datei ist UTF8 ohne BOM.
Und woher soll dann die Auslesefunktion das wissen?

Der Standard ist nunmal ANSI, also wird auch als ANSI ausgelesen.



Zu dem Vorschlag von DeddyH:
Aufpassen, denn dein Delphi 2010 ließt es als ANSI aus, konvertiert es nach Unicode (ANSI>Unicode) und Utf8Decode würde das Unicode jetzt als RawString (hoffentlich zufällig mit einer Umkodierung nach ANSI) übernehen, versuchen als UTF-8 zu interpretieren und dann nach versuchen nach Unicode umzuwandeln.


Ich weiß auch garnicht, ob UTF-8 von der verwendeten WinAPI, welche in TIniFile gekapselt ist, überhaupt unterstützt wird.


Verwende stattdessen z.B. TMemIniFile und gib als Encoding das UTF-8 explizit an.
TMemIniFile arbeitet intern mit einer TStringList, welche es auch ohne BOM uslesen und konvertieren kann, danach werden alle Leseoperationen intern über diese StringList abgehandelt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Jan 2012 um 11:25 Uhr)
  Mit Zitat antworten Zitat