![]() |
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! |
AW: Kryptische Zeichen beim Einlesen von .csv
Zitat:
Solche Antike Version hatte mit Unicode und UTF8 von Haus aus noch nicht viel damit am Hut. Ab D2009 funktionieren erst viele Dinge mit Unicode/UTF8 "out of the box" ohne das du was drum herum stricken must. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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