Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi gelöst: Probleme mit UTF8ToAnsi - war ein Stringlistenprobl. (https://www.delphipraxis.net/144821-geloest-probleme-mit-utf8toansi-war-ein-stringlistenprobl.html)

nahpets 17. Dez 2009 13:49


gelöst: Probleme mit UTF8ToAnsi - war ein Stringlistenprobl.
 
Hallo,

habe ein konkretes Problem mit der Funktion UTF8ToAnsi unter Delphi 2007.

Wenn man einen Text mit doppelten Hochkommata mit dieser Funktion umwandelt, so wird das führende Hochkommata entfernt und das schließende in einen Zeilenumbruch verwandelt.

Delphi-Quellcode:
slRow.Delimiter      := #9;
slRow.StrictDelimiter := True;
for iRow := 0 To slFile.Count - 1 Do begin
  slRow.DelimitedText := UTF8ToAnsi(slFile[iRow]);
  ...
  diverses Anderes u. a. speichern in Datenbank.
end;
slRow und slFile sind vom Typ TStringList.

Hierbei wird aus
Code:
"Delphipraxis" Das Forum für Delphifans
Code:
Delphipraxis
  Das Forum für Delphifans
Kann das jemand nachvollziehen und mir einen Vorschlag für die Lösung des Problemes geben?

Bei den einzulesenden Textdateien (mit Millionen von Zeilen) handelt es sich um tabulatorseparierte Texte im UTF8-Format, die in eine Datenbank eingelesen werden müssen.

RWarnecke 17. Dez 2009 13:56

Re: Probleme mit UTF8ToAnsi
 
Gehe doch vorher den Text durch und ersetze die Zeichen entsprechend durch CHR(x).

Bernhard Geyer 17. Dez 2009 14:00

Re: Probleme mit UTF8ToAnsi
 
Probier doch mal die UTF8Decode Funktion.

nahpets 17. Dez 2009 14:01

Re: Probleme mit UTF8ToAnsi
 
Hallo,
Zitat:

Zitat von RWarnecke
Gehe doch vorher den Text durch und ersetze die Zeichen entsprechend durch CHR(x).

prinzipiell okay, ich brauche die Werte aber, d. h. ich müsste das sonst anschließend zurückübersetzen.

RWarnecke 17. Dez 2009 14:05

Re: Probleme mit UTF8ToAnsi
 
Aber wenn ich mich recht entsinne, wird doch der Inhalt einer UTF8 Formatierten Datei beim Laden in die Stringlist eins zu eins angezeigt wird.

nahpets 17. Dez 2009 14:07

Re: Probleme mit UTF8ToAnsi
 
Hallo,

Problem gelöst:

Delphi-Quellcode:
slRow.Delimiter      := #9;
slRow.StrictDelimiter := True;
arbeiten nicht, wie in der Hilfe beschrieben, Zeilenumbrüche werden auch bei anderen Zeichen als in diese Fall #9 gemacht. :x


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz