IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Unzip et accent de fichiers


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Par défaut Unzip et accent de fichiers
    Bonjour à tous,

    Je viens vers vous pour un problème sur lequel je sèche...
    Pour un programme WPF j'utilise la classe ZipFile pour extraire les fichiers d'une archive. Dans l'archive tous les fichiers textes ont des accents (ce n'est pas moi qui ai définit la norme ...).
    Lors de l'extraction j'ai un problème d'encodage, tous les accents de mes fichiers sont remplacés par des caractères bizarres. Par exemple "dépôt.txt" devient "D‚p“t"

    Voici la ligne de code concernée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZipFile.ExtractToDirectory(dossierFichiers + file, dossierFichiers);
    J'ai aussi essayé avec le paramètre d'encodage mais aucun type d'encodage n'a donné de résultat probant. Par exemple, la ligne de code ci-dessous remplace tous les accents par un point d'interrogation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZipFile.ExtractToDirectory(dossierFichiers + file, dossierFichiers, Encoding.UTF8);
    Avez-vous des idées ?

    Merci à vous

  2. #2
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    C'est un des gros inconvénients du format ZIP. L'encodage des noms de fichier n'est pas contenu dans l'archive. Du coup, il faut le connaître (ou le deviner) pour le faire correctement.

    Il n'y a malheureusement pas de solutions simples à ce problème. Si le ZIP en entrée à toujours le même encodage, vous pouvez juste préciser l'encodage utilisé au moment où le zip a été créé. Encore faut-il le connaître...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Par défaut
    Merci François pour ton coup de pouce, il m'a permis de canaliser mes recherches.
    L'encodage zip par défaut est ibm850. A partir de là le reste coule de source...
    Le code suivant corrige mon problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZipFile.ExtractToDirectory(dossierFichiers + file, dossierFichiers, Encoding.GetEncoding(850));
    J'espère que ça servira à d'autres personnes

  4. #4
    Nouveau candidat au Club
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    merci pour le coup de pouce Peck

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Un petit bout de code qui peut aider à trouver l'encodage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var buffer = Encoding.UTF8.GetBytes("dépôt.txt");
    var codes = Encoding.GetEncodings().OrderBy(x => x.DisplayName);
    foreach (var cod in codes)
    {
        Console.WriteLine($"{cod.CodePage}\t{cod.DisplayName.PadRight(codes.Max(x => x.DisplayName.Length) + 3, '.')} {cod.Name.PadRight(codes.Max(x => x.Name.Length) + 3, '.')} {cod.GetEncoding().GetString(buffer)}");
    }
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Nouveau candidat au Club
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Par défaut
    merci Immobilis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. osql : accents dans fichier résultats
    Par frenchy371 dans le forum Outils
    Réponses: 2
    Dernier message: 27/10/2008, 17h24
  2. [DOM4J] Encodage des accents dans fichier XML
    Par NizarK dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 23/10/2008, 14h57
  3. accents et fichier sql
    Par millefeintes dans le forum Oracle
    Réponses: 9
    Dernier message: 19/02/2007, 17h58
  4. Problème avec accent dans fichier
    Par shaun_the_sheep dans le forum Administration système
    Réponses: 3
    Dernier message: 19/11/2006, 20h46
  5. [Zip] Cherche librairie permettant le unzip/unrar d'un fichier uploadé
    Par vallica dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 02/09/2006, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo