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

Windows Forms Discussion :

Problème avec les caractères accentués


Sujet :

Windows Forms

  1. #1
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut Problème avec les caractères accentués
    Bonjour,

    Lors de la lecture d'un fichier texte, les caractères accentués apparaissent sous la forme de carrés dans un MessageBox. Comment peut on éviter ça ? merci infiniment.

  2. #2
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    A priori, tu dois lire le fichier en attendant un charset différent de celui avec lequel il a été enregistré...

    Dans quel charset est ton fichier, et quel code utilises-tu pour le lire ?

  3. #3
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Greybird Voir le message
    A priori, tu dois lire le fichier en attendant un charset différent de celui avec lequel il a été enregistré...

    Dans quel charset est ton fichier, et quel code utilises-tu pour le lire ?
    Je fais comme suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    using (StreamReader sr = File.OpenText(fullName))
                        {
                            string s = "";
                            while ((s = sr.ReadLine()) != null)
                            {
                                String[] tbStr = s.Split(new Char [] {';'});
                                string add = tbStr[0];
                                for (int i = 1; i < tbStr.Length; i++)
                                { add =add +"\n"+tbStr[i] ; }
                                MessageBox.Show(add);
    }
    Merci beaucoup.

  4. #4
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Points : 1 271
    Points
    1 271
    Par défaut
    Et dans quel charset est ton fichier texte ?

  5. #5
    Débutant
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par Greybird Voir le message
    Et dans quel charset est ton fichier texte ?
    DSl mais je comprends pas ce que veux dire CHARSET, j'ai crée un fichier texte normale, en clickant droit nouveau fichier txt, merci infiniment.

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    La méthode File.OpenText utilise toujours un encodage (charset) UTF-8 pour la lecture du fichier. Si ton fichier n'est pas encodé en UTF-8, les caractères accentués passent à la trappe.

    Essaye avec ceci
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    using (StreamReader sr = new StreamReader(fullName, Encoding.Default))
    {
        ...
    }
    Pas de questions techniques par MP

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour texte DOS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StreamReader sr = new StreamReader("monFichier.txt",
       Encoding.GetEncoding("iso-8859-1")) ;
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/11/2010, 08h27
  2. [MySQL] Probléme avec les caractéres accentués suite à un export
    Par UNi[FR] dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/05/2006, 09h10
  3. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45
  4. [AJAX] Problèmes avec les caractères accentués
    Par marti dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 26/10/2005, 14h10
  5. Réponses: 5
    Dernier message: 04/09/2005, 12h34

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