Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Unicode-Problem - aber wo? (https://www.delphipraxis.net/173233-unicode-problem-aber-wo.html)

Codewalker 13. Feb 2013 16:24

Unicode-Problem - aber wo?
 
Hallo zusammen.

Ich habe das Problem, dass ein Unicode-String bei mir "unterwegs" verloren geht. Die Ausgangssituation ist folgende: Ich lege mit Notepad++ eine XML-Datei an, welche japanische Schriftzeichen enthält. Diese wird als UTF-8 mit BOM gespeichert, im XML-Header ist als Encoding auch UTF-8 angegeben. Diese XML-Datei wird in ein ZIP gepackt (mit TZipForge von ComponentAce).
Beim Laden sieht es so aus: TZipForge öffnet das Zip, per Stream wird die Datei in einen String gelesen (Delphi XE2), aus diesem String würde dann himXML lesen usw., aber der String ist nach dem Laden (per Stream aus dem Zip, über einen StringStream in einen String) bereits falsch und die Schriftzeichen gehen verloren.

Das Problem: Ich weiß nicht, wo ich nach dem Fehler suchen soll. himXML kann ich ausschließen, weil ich nicht bis dahin komme. TZipForge sollte auch Unicode beherrschen (kann es auch für Dateinamen) und dem Zip-Format an sich sollte es doch egal sein, was es packt. Muss ja bitgenau wieder das Gleiche wie vorher beim Entpacken rauskommen. Und ich nutze nirgendwo AnsiStrings...

DeddyH 13. Feb 2013 16:28

AW: Unicode-Problem - aber wo?
 
Was denn für ein Stream, TStringStream? Falls ja, hat der dann auch das richtige Encoding?

TiGü 13. Feb 2013 16:29

AW: Unicode-Problem - aber wo?
 
Zitat:

Zitat von Codewalker (Beitrag 1203360)
TZipForge sollte auch Unicode beherrschen (kann es auch für Dateinamen)...

Das hast du schon überprüfst indem du die Zip per Doppelklick geöffnet und die XML-Datei in Notepadd++ angeschaut hast??

Codewalker 13. Feb 2013 16:34

AW: Unicode-Problem - aber wo?
 
Zitat:

Zitat von DeddyH (Beitrag 1203361)
Was denn für ein Stream, TStringStream? Falls ja, hat der dann auch das richtige Encoding?

mein Held :thumb:
Parameter weggelassen und schon haben wir den Salat. Mit TUTF8Encoding klappt er perfekt

Zitat:

Zitat von TiGü (Beitrag 1203362)
Zitat:

Zitat von Codewalker (Beitrag 1203360)
TZipForge sollte auch Unicode beherrschen (kann es auch für Dateinamen)...

Das hast du schon überprüfst indem du die Zip per Doppelklick geöffnet und die XML-Datei in Notepadd++ angeschaut hast??

Ja, das hatte ich schon überprüft


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