AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kryptische Zeichen beim Einlesen von .csv

Kryptische Zeichen beim Einlesen von .csv

Ein Thema von StepByStep · begonnen am 21. Jun 2018 · letzter Beitrag vom 21. Jun 2018
Antwort Antwort
Seite 1 von 2  1 2   
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#1

Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 08:27
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ß
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.556 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 08:28
Welches Format hat denn die csv-Datei?

Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#3

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 08:33
Also, wenn ich das richtig sehe, dann sollte es UTF-8-BOM sein oder?

Gruß
Miniaturansicht angehängter Grafiken
kodierung_csv.png  
Jan
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.011 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 08:56
Hallo,
einfach Utf8Decode oder ein verwandte Methode benutzen.
Heiko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.918 Beiträge
 
Delphi 7 Professional
 
#5

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:01
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.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
2.966 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:03
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:20
Kann ich so nicht bestätigen.

Delphi-Quellcode:
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.
Gibt mir exakt das aus, was auch in der Datei (UTF8-BOM) enthalten ist.

Somit brauchen wir ein Minimales Projekt (inkl. einer CSV-Datei) was diesen Fehler zeigt.
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#8

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:38
Zitat:
Somit brauchen wir ein Minimales Projekt (inkl. einer CSV-Datei) was diesen Fehler zeigt.
>> Habe ich drangehangen. Ist Delphi7!
Angehängte Dateien
Dateityp: zip UTF8_CSV.zip (207,0 KB, 3x aufgerufen)
Jan
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.918 Beiträge
 
Delphi 7 Professional
 
#9

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:51
Delphi 7 kann von Haus aus kein UTF8.

ShowMessage(Utf8ToAnsi(slDaten.Strings[1])); sollte Dein Problem beheben.

Geändert von Delphi.Narium (21. Jun 2018 um 09:54 Uhr)
  Mit Zitat antworten Zitat
StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#10

AW: Kryptische Zeichen beim Einlesen von .csv

  Alt 21. Jun 2018, 09:56
@Delphi.Narium: Das habe ich gerade auch gefunden, damit geht es. ^^

Danke!
Jan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf