Nom de fichier Mac illisible sur Windows depuis une clé USB
Si vous constatez un nom de fichier Mac illisible sur Windows après l'avoir copié sur une clé USB ou un disque externe, rassurez-vous : le fichier est intact et la clé n'a rien. Le nom est simplement enregistré dans une « orthographe » Unicode (NFD) différente de celle que Windows attend (NFC). Résultat : un Devis_François.pdf semble normal, mais la recherche de l'Explorateur ne le trouve pas, certains logiciels refusent de l'importer, et les noms coréens ou japonais de vos correspondants s'affichent avec des lettres éclatées. La solution consiste à renommer les fichiers dans la forme composée, ce qui se fait côté Windows avec une petite boucle PowerShell, côté Mac avec quelques lignes de Python, ou en glissant les fichiers dans un outil en ligne comme FilenameFixer. Les trois méthodes sont détaillées ci-dessous.
Pourquoi un nom de fichier Mac devient illisible sur Windows en passant par une clé USB
Une clé USB lisible par les deux machines est généralement formatée en exFAT ou en FAT32. Aucun de ces deux systèmes de fichiers ne modifie les noms qu'on y écrit : ils stockent exactement la suite de caractères Unicode que le système d'exploitation leur transmet. C'est là tout le problème : macOS et Windows ne transmettent pas la même suite de caractères pour un nom qui, à l'écran, paraît identique.
Unicode propose deux façons d'écrire beaucoup de caractères :
- Forme composée (NFC) :
éest un seul point de code.çaussi.가(syllabe coréenne) aussi. - Forme décomposée (NFD) :
éest unesuivi d'un accent aigu combinant.çest uncsuivi d'une cédille combinante.가est la consonneㄱsuivie de la voyelleㅏ.
macOS produit souvent la forme décomposée quand vous nommez un fichier dans le Finder ou que vous enregistrez depuis une application Mac. Windows, les formulaires web et la plupart des serveurs attendent la forme composée. Quand la clé arrive sur un PC Windows, l'Explorateur affiche ce qu'on lui a donné, et cela donne ceci :
Reçu_Élodie.pdfouRésumé_réunion.docxont l'air corrects, mais taperÉlodieouréuniondans la zone de recherche de l'Explorateur ne renvoie rien, et certains programmes refusent de les ouvrir ou de les importer.보고서.docxenvoyé par un collègue coréen devientㅂㅗㄱㅗㅅㅓ.docx, ou un mélange de syllabes entières et de lettres isolées.がくせい.pdfreçu d'un contact japonais s'afficheか゛くせい.pdf, avec le signe de voisement qui flotte à côté du kana.
Rien n'est corrompu. Chaque octet du contenu est intact. Seul le nom est écrit d'une façon que Windows ne reconnaît pas comme égale à ce que vous tapez au clavier.
Ce problème n'a rien à voir avec les soucis classiques de clé USB (un disque en lecture seule sur Mac parce qu'il est en NTFS, ou un fichier de plus de 4 Go qui refuse de se copier en FAT32). Si les fichiers se copient et s'ouvrent, mais que les noms sont bizarres, il s'agit de normalisation, pas de formatage.
Vérification rapide : s'agit-il bien d'un problème de normalisation ?
Avant de renommer quoi que ce soit, confirmez la cause. Sur le PC Windows, ouvrez PowerShell dans le dossier de la clé USB et lancez :
Get-ChildItem -File | ForEach-Object {
[PSCustomObject]@{
Name = $_.Name
Length = $_.Name.Length
NFC = $_.Name.Normalize([Text.NormalizationForm]::FormC).Length
}
}
Si la colonne Length est plus grande que la colonne NFC pour un fichier, son nom contient des caractères décomposés. Devis_François.pdf annoncera 19 caractères tels qu'enregistrés mais 18 en NFC ; un nom avec plusieurs accents comme Prévisions_budgétaires_été.xlsx affichera un écart de 4, et un nom coréen de cinq syllabes peut dépasser 12. Toute ligne où les deux nombres sont égaux est déjà correcte et n'a pas besoin d'être touchée.
Corriger côté Windows (gratuit, sans rien installer)
C'est la voie la plus pratique quand la clé est déjà entre les mains du client ou du collègue sous Windows. Tout se passe sur la clé USB, le Mac n'intervient pas du tout.
- Branchez la clé USB et ouvrez le dossier dans l'Explorateur de fichiers.
- Cliquez dans la barre d'adresse, tapez
powershellet validez avec Entrée. Une fenêtre PowerShell s'ouvre directement dans ce dossier. - Collez le bloc suivant et appuyez sur Entrée :
Get-ChildItem -Recurse |
Sort-Object { $_.FullName.Length } -Descending |
ForEach-Object {
$nfc = $_.Name.Normalize([Text.NormalizationForm]::FormC)
if ($nfc -ne $_.Name) {
Rename-Item -LiteralPath $_.FullName -NewName $nfc
Write-Host "renommé : $nfc"
}
}
Ce que fait cette commande : elle parcourt tous les fichiers et dossiers de la clé, en commençant par les chemins les plus profonds pour que les dossiers soient renommés après leur contenu, convertit chaque nom en NFC et ne le renomme que si le nom change réellement. Les noms déjà composés sont laissés tels quels. Le paramètre -LiteralPath est important, car certains noms cassés contiennent des caractères que PowerShell traiterait sinon comme des jokers.
- Appuyez sur F5 dans l'Explorateur. Les noms coréens et japonais doivent maintenant s'afficher correctement, et une recherche sur
Françoisdoit trouver le fichier.
Limites à connaître :
- Si un dossier contient déjà une version NFD et une version NFC du même nom, le renommage échouera pour cette paire avec une erreur « le fichier existe déjà ». Il faudra choisir à la main quelle copie garder.
- Un fichier ouvert dans un autre programme ne peut pas être renommé. Fermez d'abord Word, Excel, Photoshop, etc.
- Cette méthode corrige uniquement les copies présentes sur la clé. Les originaux sur le Mac gardent leurs noms décomposés, donc le prochain transfert posera le même problème tant que vous ne corrigez pas à la source.
Corriger côté Mac avant de remettre la clé
Si vous êtes l'utilisateur Mac et que vous livrez régulièrement des fichiers sur clé USB, mieux vaut corriger les noms avant que la clé ne quitte votre bureau. Le Finder n'a aucun réglage pour cela, mais quelques lignes de Python suffisent. Python 3 est fourni avec les outils en ligne de commande de Xcode ; si python3 --version dans le Terminal affiche un numéro de version, vous l'avez.
- Copiez les fichiers sur la clé USB comme d'habitude.
- Ouvrez le Terminal et lancez ce qui suit, en remplaçant
MACLEpar le nom de la clé tel qu'il apparaît sur le bureau :
python3 - <<'EOF'
import os, unicodedata
root_dir = '/Volumes/MACLE'
for root, dirs, files in os.walk(root_dir, topdown=False):
for name in files + dirs:
fixed = unicodedata.normalize('NFC', name)
if fixed != name:
os.rename(os.path.join(root, name), os.path.join(root, fixed))
print('renommé :', fixed)
EOF
- Éjectez la clé et, si possible, vérifiez-la sur un PC Windows. Les noms doivent s'afficher et se rechercher correctement.
Deux précisions utiles. D'abord, ce script ne change que la suite de caractères enregistrée ; sur le Mac, les noms auront exactement la même apparence avant et après, c'est normal. Ensuite, si un fichier renommé en forme composée est ensuite modifié et réenregistré sous le même nom par une application Mac, certaines applications réécriront la forme décomposée. Lancez donc le script juste avant de remettre la clé, pas plusieurs jours avant.
Si vous préférez éviter le terminal
FilenameFixer effectue la même conversion dans le navigateur. Glissez les fichiers de la clé USB dans la page et il les renomme en lot de NFD vers NFC ; rien n'est envoyé sur un serveur, les noms de fichiers étant traités localement dans votre navigateur. L'outil prend en charge les accents latins éclatés (é, ç, ë), les lettres coréennes séparées et le dakuten japonais détaché. Il est gratuit et fonctionne dans Chrome, Edge, Safari ou Firefox, sur l'une ou l'autre machine.
Si vous livrez une archive ZIP plutôt que des fichiers en vrac, l'archive transporte les mêmes noms décomposés à l'intérieur, et Windows les extraira cassés. L'outil de restauration des noms dans un ZIP réécrit les noms à l'intérieur de l'archive (jusqu'à 200 Mo), de sorte que le destinataire obtient des noms propres à l'extraction sans rien lancer de son côté.
Éviter le problème lors du prochain transfert
Quelques habitudes règlent la question une fois pour toutes, quel que soit votre côté de l'échange :
- Convenez d'une règle de nommage pour les livrables. Pour les fichiers destinés à être importés dans un autre système (logiciel de comptabilité, CMS, catalogue photo), des noms en ASCII pur comme
devis-francois-2026-10.pdfévitent la normalisation et une dizaine d'autres problèmes de jeu de caractères d'un coup. Gardez le nom lisible avec accents, en coréen ou en japonais à l'intérieur du document ou dans un mot d'accompagnement. - Normalisez juste avant d'éjecter. Lancez le script Python ou déposez le dossier dans l'outil en ligne en toute dernière étape, une fois toutes les modifications terminées.
- Gardez un script de contrôle côté Windows. Le bloc de comparaison des longueurs ci-dessus prend quelques secondes et vous dit immédiatement si une clé venue d'un Mac a besoin d'être corrigée, avant que quelqu'un ne commence à importer des fichiers dans un système qui les rejettera en silence.
- Ne reformatez pas la clé en espérant que cela aide. NTFS, exFAT et FAT32 stockent tous les noms tels qu'ils leur sont donnés. Le formatage ne change rien à la normalisation ; seul le renommage le fait.
Une fois les noms composés, la recherche Windows les retrouve, les imports passent, et votre correspondant n'a plus jamais à découvrir un ㅎㅏㄴㄱㅡㄹ à la place de 한글, ni un Élodie introuvable alors qu'il est sous ses yeux.