Probleme mit Sonderzeichen und Modul zipfile

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Donnerstag 24. August 2006, 07:37

Hallo,

Ich habe folgendes Problem:
Wenn ich über das Modul 'zipfile' ein Archiv erstelle und dabei einige Dateinamen, der zu packenden Dateien, Sonderzeichen (ä, ü, ß ...) enthalten, werden diese in anderen Archivmanagern (z.B. Winzip ...) falsch dargestellt.
Umgedreht besteht das gleiche Problem.
Ich schätze mal das diese ein anders Encoding verwenden.
Wie kann ich das Problem beheben?

Wäre dankbar für eure Hilfe :D

Harry
Gruß, Harry
BlackJack

Donnerstag 24. August 2006, 07:59

Na einfach die gleiche Kodierung auf beiden Seiten verwenden. :-)

ZIPs kennen keine Kodierung, die Dateinamen sind einfach eine Folge von Bytes. Wie diese interpretiert werden ist Sache der Anwendung(en).
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Donnerstag 24. August 2006, 08:02

Hi BlackJack,

Danke für deine schnelle Antwort.
Wie kann ich herausfinden welche Codierung verwendet wird und wie lege ich diese fest?
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8481
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 24. August 2006, 08:22

Aus http://docs.python.org/dev/lib/zipfile-objects.html :
Note: There is no official file name encoding for ZIP files. If you have unicode file names, please convert them to byte strings in your desired encoding before passing them to write(). WinZip interprets all file names as encoded in CP437, also known as DOS Latin.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Donnerstag 24. August 2006, 08:33

Wer lesen kann ist klar im Vorteil :oops:
Danke Jens!
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8481
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 24. August 2006, 09:05

Naja, ist in der developer-Version der Doku, da hättest du bestimmt nicht nachgesehen... Ich weiß das auch nur, weil ich selber Angestoßen hab, das diese Notiz in die Doku kommt :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
HarryH
User
Beiträge: 266
Registriert: Freitag 23. Mai 2003, 09:08
Wohnort: Deutschland

Donnerstag 24. August 2006, 11:42

Kann ich mein Script so umstellen, dass es auch automatisch mit dem Codec CP437 arbeitet?
Wenn ja, Wie?
Was ist denn die beste Alternative um die Dateinamen korrekt darzustellen?
Gruß, Harry
Benutzeravatar
jens
Moderator
Beiträge: 8481
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 24. August 2006, 14:55

Schau mal hier: [wiki]Unicode[/wiki]

und hier: http://www.python-forum.de/topic-5580.html

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten