web-dev-qa-db-fra.com

Erreur lors de la compression des fichiers avec des caractères Unicode dans les noms avec le dossier "Envoyer à> compressé (zippé)" de Win7

Lorsque j'essaie de compresser des fichiers contenant des caractères Unicode, tels que © ou ™, j'obtiens le message d'erreur suivant:

[Titre de la fenêtre] Erreur de dossiers compressés (zippés)

[Contenu] 'C:\Asd ™ .txt' ne peut pas être compressé car il contient des caractères qui ne peuvent pas être utilisés dans un dossier compressé, tel que ™. Vous devez renommer ce fichier ou répertoire.

[D'ACCORD]

Ce n'est devenu un problème que lorsque j'ai réinstallé Windows 7. Il était probable que certaines erreurs de résolution de cette erreur étaient nécessaires pour être résolues automatiquement, mais l'installation est presque propre à présent et je ne parviens pas à compresser les fichiers Zip. Comment puis-je réparer ça?

UPD: Un certain temps s'est écoulé depuis que j'ai posté cette question, j'ai installé certaines de mes applications habituelles, mais le problème persiste et je ne sais pas s'il peut être corrigé en installant certaines application spécifique d'avant.


Le problème de la compression intégrée de Windows 10 pourrait ne pas avoir ce problème, comme indiqué dans un commentaire à cette question .

12
user1306322

Si les caractères incriminés proviennent d'une langue autre que l'anglais mais pris en charge par Microsoft, vous pouvez installer le module linguistique MUI (Interface utilisateur multilingue)} approprié à partir de Windows Update ou le LIP (module d'interface linguistique) correspondant. ) de ici comme solution possible.

En plus de ce qui précède, vous devrez peut-être également modifier les paramètres régionaux du système.

Les paramètres régionaux du système déterminent le jeu de caractères par défaut (lettres, symboles et chiffres) et la police utilisée pour entrer et afficher les informations dans les programmes qui n'utilisent pas Unicode. Cela permet aux programmes non Unicode de s'exécuter sur votre ordinateur en utilisant la langue spécifiée. Vous devrez peut-être modifier les paramètres régionaux du système par défaut lorsque vous installerez des langues d'affichage supplémentaires sur votre ordinateur. La sélection d'une langue différente pour les paramètres régionaux du système n'affecte pas la langue des menus et des boîtes de dialogue de Windows ou des autres programmes utilisant Unicode.

Faire cela:

  1. Tapez "région" dans le champ de recherche du menu Démarrer (sans les guillemets)

  2. Ouvrez l'applet Région et langue du Panneau de configuration.

  3. Cliquez sur l'onglet Administratif, puis sous Langue pour les programmes non Unicode, cliquez sur Modifier les paramètres régionaux du système. Si vous êtes invité à entrer un mot de passe administrateur ou une confirmation, tapez le mot de passe ou fournissez une confirmation.

  4. Sélectionnez la langue, puis cliquez sur OK.

  5. Si vous êtes invité à redémarrer votre ordinateur, cliquez sur Redémarrer maintenant _ pour le faire.

    Win7 Change System Locale


Cependant, si les caractères incriminés ressemblent à comme indiqué ci-dessus, je ne crois pas qu'il y ait de solution officielle de Microsoft pour cette zipfldr.dll limitation, Cela existe depuis que Windows possède cette fonctionnalité (donc si vous corrigez plus tôtdid, vous avez peut-être installé un composant tiers). De Wikipedia :

Les versions de Microsoft Windows incluent la prise en charge de la compression Zip dans Explorer depuis la version Plus! pack a été publié pour Windows 98. Microsoft appelle cette fonctionnalité "Dossiers compressés". Toutes les fonctionnalités Zip ne sont pas prises en charge par la fonctionnalité Dossiers compressés de Windows. Par exemple, le cryptage AES, les archives fractionnées ou étendues et le codage d'entrée Unicode ne sont pas lisibles ni inscriptibles par la fonctionnalité Dossiers compressés de Windows XP ou de versions ultérieures.

Le format de fichier Zip a longtemps manqué de support Unicde, et cette extension n’a été ajoutée qu’il ya 6 ans en 2006. Selon ANNEXE D - Encodage de langage (EFS)} du Spécification du format de fichier Zip :

D.1 Le format Zip a historiquement pris en charge uniquement le jeu de codage de caractères IBM PC d'origine, communément appelé IBM Code Page 437. Cela limite le stockage des caractères de nom de fichier à ceux compris dans la plage de valeurs MS-DOS d'origine et ne les prend pas correctement en charge. noms de fichiers dans d’autres codages de caractères, ou langues. Pour remédier à cette limitation, cette spécification prendra en charge le changement suivant. [Lire le document pour le reste.]

Depuis lors, bien sûr, tous les principaux archiveurs Windows utilisant le format ont été mis à jour pour inclure le support Unicode, à commencer par WinZip en 2008. Malheureusement, pour une raison quelconque, Microsoft a octroyé une licence à une bibliothèque tierce pour sa fonctionnalité Compressed Folders (bien que ce ne soit pas le cas). extrêmement difficile de coder le support Zip), et évidemment cette bibliothèque est antérieure à l’ajout de Unicode au format de fichier Zip. En outre, comme un signe clair de l’intérêt porté à cette fonctionnalité, Microsoft n’a pas mis à jour le code pour corriger ce boguejusqu’à la date(apparemment, même le nouveau système. La classe IO.ZipArchive dans la dernière version du .Net Framework, c’est-à-dire la version 4.5, n’a pas obtenu ce droit au départ, mais le bogue a été corrigé depuis).Je suppose qu'ils s'attendent à ce que chacun installe l'un des nombreux archiveurs tiers complets disponibles, ce qui est précisément ce que je vous ai également recommandé ci-dessus.

Vous pouvez lire les détails sordides sur ce manque particulier de prise en charge Unicode dans Windows dans la série de billets de blog suivante de Michael de Microsoft :


P.S. "Je viens de découvrir que compresser avec Windows" envoyer à "fonctionne aussi bien que le" meilleur "compresseur de Winrar, mais beaucoup plus rapidement." - Je viens de tester cela plusieurs fois. Hormis le temps supplémentaire nécessaire pour ouvrir la boîte de dialogue Ajouter à l'archive de WinRAR, sélectionnez le format d'archive Zip et appuyez sur OK. La durée réelle de la compression était à peu près identique pour les deux, WinRAR prenant moins de temps en général. (bien que les différences soient négligeables). Si vous constatiez une différence énorme, cela ne pourrait être le cas que si vous avez d'abord testé WinRAR sur un ensemble de fichiers, puis immédiatement compressé les mêmes fichiers avec des dossiers compressés. Naturellement, la deuxième fois autour de Windows avait déjà mis les données en cache, le processus a donc pris une fraction du temps qu’il avait initialement pris. Faites-le dans l'ordre inverse sur un ensemble de fichiers que vous n'avez pas encore touchés au cours de la session Windows en cours, et je parie que le résultat sera inversé. :)

Pour ce qui est de la taille finale de la compression, en fonction des données/combinaisons de formats de fichiers archivés, j’ai trouvé que l’un ou l’autre des deux effectuait un meilleur travail (bien que là encore les différences soient négligeables). Bien sûr, les formats 7z ou Rar (ou même le format ZipX de WinZip) sontfarmieux à cet égard et battront tous les jours de plain-pied (c'est-à-dire avec le format traditionnel/legacy déflate algorithme au lieu de PPMd , etc.).

17
Karan

J'ai le même problème. Utilisez le gestionnaire 7-Zip et compressez vos fichiers et le problème est résolu. :)

1
Jaivin