2009-10-02 5 views
2

Sur mon serveur Linux, j'ai des fichiers avec des noms accentués (test-éàïù.zip). Lorsque je les ajoute à un nouveau fichier ZIP à l'aide de l'outil de ligne de commande 7zip, les informations charset/encoding ne sont pas enregistrées et lorsqu'elles sont ouvertes sur un ordinateur Windows, l'archive n'affiche pas correctement les noms de fichiers. Je sais que 7zip crée des archives Zip V1.0, pas 2.0. Peut-être que le jeu de caractères est limité au jeu de caractères MSDos? Comment est-ce que je pourrais spécifier un encodage en utilisant 7zip ou un autre outil de zip, afin d'obtenir des archives portables?Comment créer des fichiers ZIP avec un codage spécifique

Merci :)

+0

Cela appartient à superuser.com –

Répondre

9

Ce est une question de super-utilisateur, mais ...

postal utilise une page de code par défaut de IBM437. Il existe la possibilité d'utiliser UTF-8, mais tous les outils zip et toutes les bibliothèques ne le supportent pas. Certains outils zip vont faire des pages de code arbitraires, même si la spécification zip ne permet que IBM437 ou UTF-8. Je pense que WinRar est un de ces outils.

DotNetZip est codé. Il va faire UTF-8 ou une page de code arbitraire. Si vous écrivez une application, il existe une bibliothèque .NET. Si vous exécutez à partir d'un script, il existe des outils de ligne de commande. De toute façon, DotNetZip nécessite .NET. Vous aurez besoin de Mono pour l'exécuter sous Linux.

exemple pour la ligne de commande:

zipit.exe Olivier.zip -cp 860 test-éàïù.txt 

(utiliser le 860 codepage) Je ne suis pas sûr que l'Explorateur Windows gère correctement zipfiles avec codage alternatif pour les noms de fichiers au sein des fermetures éclair. Pour plus d'informations sur l'outil zipit.exe, reportez-vous à How to zip specified folders with Command Line

Questions connexes