← Alle Artikel

ZIP auf dem Mac für Windows erstellen – ohne kaputte Namen

Wenn Sie ein ZIP auf dem Mac für Windows-Nutzer erstellen und die Rückmeldung kommt, dass die Dateinamen kaputt aussehen (aus „Müller“ wird „Mu¨ller“ mit versetzten Punkten, 한글 zerfällt zu ㅎㅏㄴㄱㅡㄹ, oder Excel meldet, die Datei existiere nicht), dann ist das Archiv selbst in Ordnung. Schuld sind zwei Mac-Eigenheiten: macOS speichert Dateinamen mit Umlauten, Akzenten oder koreanischen/japanischen Zeichen oft in einer zerlegten Unicode-Form (NFD), mit der Windows nicht rechnet, und der Befehl „Komprimieren“ im Finder legt zusätzlich einen versteckten Ordner __MACOSX mit ._-Kopien jeder Datei an. Die Lösung auf der Absenderseite: Erst die Namen in NFC normalisieren, dann das ZIP mit einem Werkzeug bauen, das die Mac-Metadaten weglässt. Dieser Artikel beschreibt genau diese Reihenfolge – und was Sie tun können, wenn das Archiv schon verschickt ist.

Warum ein auf dem Mac erstelltes ZIP unter Windows kaputte Namen zeigt

Hier laufen drei getrennte Dinge zusammen. Es hilft zu wissen, welches davon Sie gerade vor sich haben.

Zerlegte Zeichen (NFD). macOS schreibt Dateinamen seit Langem gern in NFD. Dabei wird „ü“ als „u“ plus ein separates Trema-Zeichen gespeichert, „é“ als „e“ plus Akzent, und eine koreanische Silbe als ihre einzelnen Jamo. Windows, die meisten Webserver und die meisten Windows-Programme erwarten dagegen die zusammengesetzte Form (NFC), in der „ü“ ein einziges Zeichen ist. Der Windows-Explorer zeichnet den Umlaut meist trotzdem richtig, aber der Name ist technisch ein anderer als der, den Sie getippt haben. Deshalb kann ein Kollege Müller_Rechnung.xlsx auf dem Bildschirm sehen und trotzdem „Datei nicht gefunden“ bekommen, sobald ein Makro, ein Skript oder ein SharePoint-Link nach der NFC-Schreibweise sucht. Bei koreanischen und japanischen Namen ist es offensichtlicher: Die Silben fallen sichtbar auseinander, und Dakuten trennen sich von ihrem Kana (aus が wird か plus ゛).

Der Ordner __MACOSX und die ._-Dateien. Wenn Sie im Finder per Rechtsklick „Komprimieren“ wählen, legt macOS Resource Forks und Finder-Metadaten als ._dateiname-Einträge in einem Ordner __MACOSX ab. Windows kann damit nichts anfangen. Die Dateien sind harmlos, verdoppeln aber die Dateianzahl, verwirren Empfänger, die sie für beschädigte Kopien halten, und werden von manchen Upload-Formularen beanstandet.

Zeichensatz statt Normalisierung. Kommen die Namen als Müller oder als Folge von Fragezeichen an, ist das ein anderes Problem: Das Entpackprogramm auf der Windows-Seite hat die Namen mit dem falschen Zeichensatz gelesen. Aktueller Windows-Explorer und 7-Zip verstehen UTF-8-Namen aus ZIPs, die ein aktuelles macOS erzeugt hat; das passiert also vor allem mit sehr alten Entpackern. Diesen Fall löst der Artikel nicht – es geht hier um NFD und den zusätzlichen Ordner.

ZIP auf dem Mac für Windows erstellen: die Schritte

Halten Sie sich an die Reihenfolge. Wer die Namen erst nach dem Packen korrigiert, muss das Archiv neu erstellen – also zuerst normalisieren.

1. Prüfen, ob die Namen wirklich in NFD vorliegen

Im Finder sieht man NFD nicht. Zwei schnelle Wege:

  • Terminal öffnen, mit cd in den Ordner wechseln und ausführen: ls | python3 -c "import sys,unicodedata; [print(repr(n)) for n in sys.stdin.read().splitlines() if unicodedata.normalize('NFC', n) != n]" Jeder ausgegebene Name liegt in NFD vor.
  • Oder einen Dateinamen aus dem Finder-Fenster „Informationen“ kopieren und in den Textkonverter der FilenameFixer-Web-App einfügen. Unterscheidet sich der konvertierte Text von dem, was Sie eingefügt haben, ist der Name zerlegt.

Reine ASCII-Namen (Bericht_2026.pdf) sind nie betroffen. Es geht nur um Umlaute, Akzentbuchstaben, Hangul, Kana mit Dakuten/Handakuten und ähnliche Zeichen. Das „ß“ übrigens nicht: Es ist ein eigenständiges Zeichen und wird nicht zerlegt.

2. Die Namen in NFC normalisieren

Auf einem Mac mit APFS-Laufwerk (jeder Mac mit macOS 10.13 oder neuer auf der internen Platte) behält eine umbenannte Datei die Form, die Sie ihr geben. Möglichkeiten:

  • Stapelumbenennung im Browser. Ziehen Sie die Dateien auf die FilenameFixer-Web-App, prüfen Sie die Vorher/Nachher-Liste und laden Sie die umbenannten Dateien herunter. Die Verarbeitung läuft lokal im Browser; es wird nichts hochgeladen. Das ist der einfachste Weg für einen gemischten Ordner mit Dokumenten von koreanischen oder japanischen Kollegen.
  • Terminal, eine Zeile. Im Ordner ausführen: python3 -c "import os,unicodedata; [os.rename(n, unicodedata.normalize('NFC', n)) for n in os.listdir('.') if unicodedata.normalize('NFC', n) != n]" Das benennt nur die oberste Ebene des aktuellen Ordners um. Wiederholen Sie den Befehl in Unterordnern oder erweitern Sie ihn mit os.walk, wenn Sie sich damit sicher fühlen.
  • Homebrew-Nutzer können convmv installieren und im Ordner convmv -f utf8 -t utf8 --nfc -r --notest . ausführen.

Vorsicht bei HFS+-Volumes (ältere Macs oder eine externe Platte im Format „Mac OS Extended“): Dort erzwingt das Dateisystem wieder NFD, das Umbenennen scheint also nichts zu bewirken. Springen Sie in dem Fall zum Abschnitt über das Reparieren des fertigen ZIPs.

3. Packen ohne den Ordner __MACOSX

„Komprimieren“ im Finder fügt den Metadaten-Ordner immer hinzu. Nehmen Sie stattdessen eine dieser Varianten:

  • Terminal mit zip: zip -r -X archiv.zip Ordnername. Die Option -X lässt erweiterte Attribute weg. Sollen auch .DS_Store-Dateien draußen bleiben: zip -r -X archiv.zip Ordnername -x "*.DS_Store".
  • Terminal mit ditto: ditto -c -k --norsrc --noextattr Ordnername archiv.zip. Das ist Apples eigenes Werkzeug und erzeugt ein sauberes, Windows-taugliches ZIP.
  • Keka (kostenloser Packer von Drittanbietern) hat in den Einstellungen eine Option, Mac-Resource-Forks auszuschließen; vor dem Packen einschalten.

Sowohl zip als auch ditto schreiben UTF-8-Namen mit korrekt gesetztem Flag, sodass aktueller Windows-Explorer und 7-Zip sie richtig lesen.

4. Vor dem Versenden kontrollieren

Führen Sie im Terminal unzip -l archiv.zip aus. Sie sollten nur Ihre Dateien und Ordner sehen – keine Zeile mit __MACOSX und keine ._-Einträge. Wer beim Thema NFD ganz sicher gehen will, leitet diese Liste durch die Python-Prüfung aus Schritt 1.

Wenn das ZIP schon raus ist oder Ihr Laufwerk HFS+ ist

Manchmal ist das Archiv bereits verschickt, oder Sie arbeiten auf einem HFS+-Volume, auf dem das Umbenennen nicht greift. In beiden Fällen können Sie die Namen direkt im fertigen Archiv reparieren, ohne die Quelldateien anzufassen.

Das ZIP-Reparaturwerkzeug für Dateinamen nimmt ein Archiv bis 200 MB, schreibt jeden NFD-Eintragsnamen in NFC um und stellt ein korrigiertes ZIP zum Download bereit. Der Dateiinhalt bleibt unverändert, die Verarbeitung bleibt im Browser. Schicken Sie das korrigierte Archiv als Ersatz, oder bitten Sie den Empfänger, das Original auf seiner Seite durch dieselbe Seite laufen zu lassen. Den Ordner __MACOSX entfernt das Werkzeug nicht. Falls das wichtig ist, erstellen Sie das Archiv nach dem Normalisieren der Namen wie oben beschrieben mit ditto oder zip -X neu.

Wer ganz ohne Werkzeuge auskommen möchte: Der Windows-Empfänger kann die betroffenen Dateinamen nach dem Entpacken einfach von Hand neu eintippen. Bei einer Handvoll Dateien geht das schneller als alles andere. Bei einem Ordner mit zweihundert koreanisch benannten Dokumenten nicht.

Was Sie dem Windows-Kollegen mitgeben sollten

Ein kurzer Hinweis erspart viel Hin und Her. Zum Beispiel:

  1. Entpacken mit „Alle extrahieren“ im Explorer oder mit 7-Zip; beide lesen Mac-ZIPs korrekt.
  2. Den Ordner __MACOSX löschen, falls vorhanden. Die ._-Dateien darin sind keine beschädigten Kopien, sondern nur Mac-Metadaten.
  3. Lässt sich eine Datei trotz korrekt aussehendem Namen nicht öffnen, liegt der Name in zerlegter Form vor. Von Hand umbenennen, oder die entpackten Dateien auf die FilenameFixer-Web-App ziehen und im Stapel umbenennen lassen.

Entwickler auf der Empfängerseite können die Ursache mit PowerShell bestätigen: [Text.Encoding]::UTF8.GetByteCount("Müller") liefert 7 für die NFC-Schreibweise und 8 für NFD. Node, Python und .NET bieten alle normalize("NFC"), falls ein Skript beide Formen akzeptieren muss.

Grenzen und ähnlich aussehende Probleme

  • Lange Pfade. Windows begrenzt vollständige Pfade auf 260 Zeichen, solange die Unterstützung für lange Pfade nicht aktiviert ist. Tief verschachtelte Mac-Ordner mit langen Namen können unabhängig von der Normalisierung beim Entpacken scheitern. Kürzen Sie den Namen des obersten Ordners vor dem Packen.
  • Archive über 4 GB brauchen ZIP64; zip und ditto auf aktuellem macOS beherrschen das, manche ältere Windows-Werkzeuge nicht.
  • Passwortgeschützte ZIPs, die mit zip -e erstellt wurden, verwenden eine veraltete Verschlüsselung, die 7-Zip öffnet, der Windows-Explorer aber nicht. Kein Dateinamenproblem, aber es erzeugt ähnliche „Geht unter Windows nicht“-Mails.
  • Reservierte Zeichen. Namen mit :, ?, *, |, <, > oder " sind unter macOS erlaubt, unter Windows nicht, und der Explorer verweigert sie beim Entpacken oder benennt sie um. Die NFC-Normalisierung ändert daran nichts; diese Zeichen müssen Sie selbst ersetzen.
  • Hin und zurück. Bearbeitet der Windows-Nutzer die Dateien und schickt ein ZIP zurück, geht nichts kaputt: NFC-Namen bleiben auf APFS erhalten. Das Problem tritt nur in Richtung Mac → Windows auf.

Zuerst normalisieren, dann mit ditto oder zip -X packen, die Liste kontrollieren – und die Rückfragen wegen kaputter Namen hören auf. Liegt das Archiv bereits im Postfach des Empfängers, ist das Umschreiben der Namen direkt im ZIP der schnellste Ersatz, den Sie nachschicken können.