Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit Auslesen von Dateinamen in einer Zipdatei (https://www.delphipraxis.net/216264-probleme-mit-auslesen-von-dateinamen-einer-zipdatei.html)

zeras 30. Nov 2024 18:32

Probleme mit Auslesen von Dateinamen in einer Zipdatei
 
Ich möchte mit den internen Ziproutinen die Dateinamen und weitere Infos extrahieren.
Leider bekomme ich folgenden Fehler:

Im Projekt xyz ist eine Exception der Klasse EEncodingError mit der Meldung 'Keine Zuordnung für Unicode-Zeichen in der Multibyte-Zielcodeseite vorhanden' aufgetreten.

Was mache ich falsch?

Delphi-Quellcode:

  Result := false;
  Zip := TZipFile.Create;
  try
    Zip.Open(SrcfName, zmRead);
    for I := 0 to Zip.FileCount -1 do begin
      CRC := Zip.FileInfo[i].CRC32;
      fSize := Zip.FileInfo[i].UncompressedSize;
      fName := ExtractFileName(StringReplace(TEncoding.UTF8.GetString(Zip.FileInfo[i].FileName), '/', '\', [rfReplaceAll])); //StringReplace, da Slash und kein BackSlash in Zipdatei
      Attr := Zip.FileInfo[i].ExternalAttributes;

himitsu 30. Nov 2024 19:12

AW: Probleme mit Auslesen von Dateinamen in einer Zipdatei
 
Es sagt dir doch ganz genau, was falsch ist.
Wer hat behauptet, dass TZipHeader.FileName IMMER UTF-8 sein muß?

siehe
Delphi-Quellcode:
Zip.FileInfo[i].UTF8Support


oder
Delphi-Quellcode:
Zip.FileName[i]
anstatt
Delphi-Quellcode:
Zip.FileInfo[i].FileName
:stupid:

zeras 30. Nov 2024 21:59

AW: Probleme mit Auslesen von Dateinamen in einer Zipdatei
 
Zitat:

Zitat von himitsu (Beitrag 1543719)

oder
Delphi-Quellcode:
Zip.FileName[i]
anstatt
Delphi-Quellcode:
Zip.FileInfo[i].FileName
:stupid:

Danke, das werde ich morgen gleich probieren.

zeras 1. Dez 2024 17:53

AW: Probleme mit Auslesen von Dateinamen in einer Zipdatei
 
Zitat:

Zitat von zeras (Beitrag 1543723)
Zitat:

Zitat von himitsu (Beitrag 1543719)

oder
Delphi-Quellcode:
Zip.FileName[i]
anstatt
Delphi-Quellcode:
Zip.FileInfo[i].FileName
:stupid:

Danke, das werde ich morgen gleich probieren.


Danke, hat geklappt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 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-2025 by Thomas Breitkreuz