Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Fehlerhaftes Encodieren von OMPL Files (https://www.delphipraxis.net/167860-fehlerhaftes-encodieren-von-ompl-files.html)

DavidKlimas 22. Apr 2012 16:27


Fehlerhaftes Encodieren von OMPL Files
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen, ich habe ein Delphi program mit verschiedenen RSS Links welche ich in andere programme exportieren möchte.

Dafür benutze ich
Delphi-Quellcode:
...
  ExportStrings.Text := UTF8Encode(ExportStrings.Text);
  ExportStrings.SaveToFile(SaveDialog1.FileName);
Das klappt alles bestens nur das ich die Datei in anderen Programmen nicht öffnen kann. Entweder bekomme ich die Nachricht, das die datei Korrupt ist oder verschiedene zeichen werden als "�" angezeigt.

Irgenetwas klappt mit der encodierung nicht.

Danke für eure Hilfe...

KORREKTION: Der Filetype ist nicht OMPL sondern OPML, sorry dafür...
KORREKTION: OPML File angehängt...

Bummi 22. Apr 2012 16:35

AW: Fehlerhaftes Encodieren von OMPL Files
 
etwas in der Art
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
hast Du in Deinem XML drin?

DavidKlimas 22. Apr 2012 16:38

AW: Fehlerhaftes Encodieren von OMPL Files
 
Bummi,

ich hab das mit drin :

Delphi-Quellcode:
<?xml version="1.0" encoding="utf-8"?>
Ich hab die datei oben mit angehängt...

Bummi 22. Apr 2012 16:57

AW: Fehlerhaftes Encodieren von OMPL Files
 
Ich bin nicht sicher ob ich Dir viel weiter helfen kann, aber
die Datei ist ANSI - Codiert
und die Teile bei q=" z.B. q="Boua
zerreissen die XML-Struktur

himitsu 22. Apr 2012 16:58

AW: Fehlerhaftes Encodieren von OMPL Files
 
Welche Delphi-Version?
Ab D2009 ist .Text ein Unicode-String und daran kannst du nichts ändern, außer beim SaveToFile den Encoding-Parameter anzugeben.


Und warum wollen du eine XML-Datei unbedingt selber verwalten, anstatt über eine XML-Komponente zu gehn, welche das alles richtig macht? :stupid:
Wobei es hier eher nach XHTML aussieht, aber zum Erstellen reicht XML meistens aus.

PS: é und ô sind garantiert kein UTF-8, bzw. sie liegen nicht als UTF-8 kodiert in der Datei drin.

DavidKlimas 22. Apr 2012 18:37

AW: Fehlerhaftes Encodieren von OMPL Files
 
Ok, es sieht so aus als ob die UTF8Encode Function nicht richtig funktioniert. Mit der UTF8EncodeToWideString klappt es bestens.

Sieht so aus als ob ich meinen String zerhacken muss ;-)

DavidKlimas 22. Apr 2012 18:49

AW: Fehlerhaftes Encodieren von OMPL Files
 
Jetzt klappts/ Musste noch folgendes umwandeln :

Delphi-Quellcode:
    Str2 := ReplaceStr(Str2, '&','&amp;');
    Str2 := ReplaceStr(Str2, '"','&quot;');
Gleichzeitig den ETF-8Encode to WideString benutzen und alles klappt...

himitsu 22. Apr 2012 18:57

AW: Fehlerhaftes Encodieren von OMPL Files
 
Zitat:

Zitat von DavidKlimas (Beitrag 1163064)
Ok, es sieht so aus als ob die UTF8Encode Function nicht richtig funktioniert. Mit der UTF8EncodeToWideString klappt es bestens.

Sieht so aus als ob ich meinen String zerhacken muss ;-)

Nein, denn du hast immernoch nicht verraten, welche Delphiversion du verwendest.

Aber bei deiner Aussage klingt es nach was Neuerem, denn Delphi erkennt dort, daß du einen UTF8-String an einen UnicodeString zuweisen willst und wandelt dabei natürlich auch den String wieder zurück in Unicode um. :roll:
Und wenn das stimmt, dann nochmal die Frage, warum verwendest du dann nicht den Encodingparameter und warum arbeitest u nicht mit XML, wo du doch XML verwenden willst? :wall:

DavidKlimas 23. Apr 2012 17:14

AW: Fehlerhaftes Encodieren von OMPL Files
 
Delphi 2010 Architect.

Ich hab versucht mit der TXMLDocument Komponente zu arbeiten aber da kam nichts zufriedenstellendes dabei raus...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 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