![]() |
Kryptische Zeichen beim Einlesen von .csv
Guten Morgen zusammen,
ich habe derzeit ein Problem und komme nicht weiter. Mein Versuch im Internet zu recherchieren hat mir leider auch nicht geholfen... Mittels einer StringList möchte ich via LoadFromFile eine CSV-Datei einlesen, was soweit auch klappt, allerdings erscheinen bei Umlauten kryptische Zeichen. So wird aus einem "Ä", dann: "ä". Ich hätte behauptet, dass das etwas mit der Unicodefähigkeit der StringList zu tun hat, sicher bin ich mir dabei aber nicht. Hat jemand eine Idee, was ich mal ausprobieren könnte? Gruß |
AW: Kryptische Zeichen beim Einlesen von .csv
Welches Format hat denn die csv-Datei?
Sherlock |
AW: Kryptische Zeichen beim Einlesen von .csv
Liste der Anhänge anzeigen (Anzahl: 1)
Also, wenn ich das richtig sehe, dann sollte es UTF-8-BOM sein oder?
Gruß |
AW: Kryptische Zeichen beim Einlesen von .csv
Hallo,
einfach Utf8Decode oder ein verwandte Methode benutzen. |
AW: Kryptische Zeichen beim Einlesen von .csv
Die Anzeige ist typisch für UTF8, das nicht als solches erkannt wird.
Ansonsten einfach mal bei der Suchmaschine Deiner Wahl utf8 ä Delphi eingeben, die Ergebnismenge ist nicht unerheblich. ä müsste das kleine ä sein. |
AW: Kryptische Zeichen beim Einlesen von .csv
Will uns sagen, dass die CSV im Editor Deiner Wahl korrekt angezeigt wird, nicht aber nach der Verarbeitung in Delphi?
Die Zeichencodierung kann manchmal redundant sein, also Anzeige Ä, aber verschiedene Codierung. Ob das bei Ä auch der Fall ist, weiß ich nicht. Die Codierung wiederum muss vom Font darstellbar sein, das ist keine Selbstverständlichkeit. > Passenden Font für GUI Darstellung wählen/prüfen. Für einen einmaligen (Import) Vorgang würde ich ggF. die Basisdatei nach Ansi konvertieren. Prüfen kannst Du auch, ob bei Betrachtung mit einem Hexeditor, der Wert für das Ä auch dem gängigen Code entspricht. Dabei berücksichtigen, das am Anfang Deiner Datei die BOM steht. |
AW: Kryptische Zeichen beim Einlesen von .csv
Kann ich so nicht bestätigen.
Delphi-Quellcode:
Gibt mir exakt das aus, was auch in der Datei (UTF8-BOM) enthalten ist.
program ConsoleApp;
{$APPTYPE CONSOLE} {$R *.res} uses System.Classes, System.SysUtils; procedure Main; var sl:TStringList; str:string; begin sl := TStringList.Create; try sl.LoadFromFile('test.csv'); str:=sl.Text; WriteLn(str); finally sl.Free; end; end; begin try Main; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; ReadLn; end. Somit brauchen wir ein Minimales Projekt (inkl. einer CSV-Datei) was diesen Fehler zeigt. |
AW: Kryptische Zeichen beim Einlesen von .csv
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Kryptische Zeichen beim Einlesen von .csv
Delphi 7 kann von Haus aus kein UTF8.
Delphi-Quellcode:
sollte Dein Problem beheben.
ShowMessage(Utf8ToAnsi(slDaten.Strings[1]));
|
AW: Kryptische Zeichen beim Einlesen von .csv
@Delphi.Narium: Das habe ich gerade auch gefunden, damit geht es. ^^
Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz