Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - UTF8-Konvertierung bei LoadFromFile intelligenter lösen
UliTs - Mi 25.09.19 11:16
Titel: UTF8-Konvertierung bei LoadFromFile intelligenter lösen
Hallo allerseits.
Ich lese eine CSV-Datei, die das UTF8-Format benutzt, ein und konvertiere sie anschließend nach ANSI:
Quelltext
1: 2:
| CSVDatei.LoadFromFile( OpenDialogCSVDatei.FileName ); for I := 0 to CSVDatei.Count-1 do CSVDatei.Strings[I] := UTF8ToString(CSVDatei.Strings[I]); |
Gibt es eine elegantere Lösung bzw. kann man dies direkt beim Aufruf von LoadFromFile machen?
Nersgatt - Mi 25.09.19 11:42
Was ist "CSVDatei"? Wenn das zum Beispiel eine TStringList ist, kannst Du das Encoding direkt bei LoadFromFile angeben.
ub60 - Mi 25.09.19 18:20
Meinst Du so etwas (wenn CSVDatei eine Listbox ist)?
Delphi-Quelltext
1:
| CSVDatei.Items.Text:= UTF8ToString(CSVDatei.Items.Text); |
ub60
Gausi - Mi 25.09.19 19:46
Ne, wohl eher so:
Delphi-Quelltext
1:
| CSVDatei.LoadFromFile( OpenDialogCSVDatei.FileName, TEncoding.UTF8); |
Das geht aber nur mit neueren Delphi-Versionen, nicht mit Delphi 6, was du im Profil angegeben hast. Ob es da noch was eleganteres gibt, weiß ich nicht. Da war das String-Handling Ansi/Unicode/UTF8 (ich vermische da jetzt die Begriffe etwas), ja auch noch ganz anders mit der "Nicht-Unicode-fähigen" VCL ... :?
UliTs - Mi 25.09.19 20:28
Vielen Dank für die schnelle Hilfe! Ich habe gar nicht damit gerechnet :-) .
Ich habe inzwischen eine aktuelle Delphi-Version: 10.3. -> Muss noch meine Signatur anpassen :-) .
Gausi, genau so etwas habe ich gesucht, aber übersehen.
P.S.
Ja, war eine StringList.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!