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

VB.NET Discussion :

Les accents dans vb net [Débutant]


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut Les accents dans vb net
    Bonjour à tous,

    J'ai encore dû coincer quelque part...

    J'ai déclaré, dans mon module les cultureInfos suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Français_FranceCulture As New CultureInfo("fr-FR", False)
        Public Anglais_Etats_UnisCulture As New CultureInfo("en-US", False)
        ................
    puis, dans la feuille main, je déclare :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Sub New()
     
            Thread.CurrentThread.CurrentCulture = Français_FranceCulture
    	.................
    Du coup, vb 2010 ne reconnait plus les accents, ni dans les controls, ni dans la MessageBox...

    Quelqu'un pourrait-il me dire ce qui se passe ?

    Merci infiniment.

    Cordialement,

    Whombat

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Euh... Qu'est-ce que tu entends au juste par "ne reconnait plus les accents" ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Bonjour et merci pour la réponse. J'ai un peu tardé mais j'étais occupé ailleurs. C'est rare mais ça arrive.

    Donc, VB ne reconnait plus les accents cad qu'il me met des petits losanges noirs à la place des caractères accentués, dans les MessageBox. Pour les controls ça va.

    Je me dis (avec ma science très faible) que s'il reconnait les accents sur les contrôles, il les reconnait dans les messageBox, (je veux parler de la façon dont la culture info est déclarée). Et bien non. Ce doit être un pb de FrameWork, peut-être. Celui qui gère les contrôles d'une simple feuille form ne doit pas (peut-être...) être aussi à l'avangarde que celui qui crée les messageBox à la place des msgbox.

    Bref, ça coince qq part.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Whombat Voir le message
    Celui qui gère les contrôles d'une simple feuille form ne doit pas (peut-être...) être aussi à l'avangarde que celui qui crée les messageBox à la place des msgbox.
    Bah c'est le même...

    D'où viennent ces accents ? De ton code où d'un fichier ? Quel est l'encodage du fichier ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    En fait : correction. Lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MessageBox.Show("Héhé, je fais un excès de zèle à la leçon")
    les accents et la cédille sont présent.

    J'ai un répertoire avec des fichiers qui portent, pour nom, des catégories précises il est donc interdit d'en modifier les accents. En lisant, par code, ce répertoire et en mettant, à chaque fichier, sa catégorie ou son nom dans une MessageBox alors là, et là seulement, plus d'accent...

    Le code d'où viennent les MessageBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
            Dim result As DialogResult = FolderBrowserDialog1.ShowDialog()
     
            If (result = DialogResult.OK) Then
     
                MyDir = FolderBrowserDialog1.SelectedPath
                For Each Fich In Directory.GetFiles(MyDir)
                          MessageBox.Show(Fich)
                next
     
            end if

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Nos réponses se sont croisées, je vais voir parce que j'ai un doute. En fait j'ai 2 entrées : la lecture d'un rep et la lecture ligna à ligne d'un fichier txt Note-Pad.

    Je contrôle et je reviens.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Me revoilà;

    Donc, c'est, et ce n'est que lorsque je lis le fichier.
    Fichier court, 30 lignes et presque autant de mots.

    Lu comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
            Dim fr As StreamReader = Nothing
            Dim FileString As String = String.Empty
     
            Try
                fr = New System.IO.StreamReader(CheminConfig & "\" & "repart.ini")
                Do
     
                    FileString = fr.ReadLine
     
                    If FileString <> "" Then
                        MessageBox.Show(FileString)
                    End If
     
                Loop Until FileString Is Nothing
     
            Finally
                If fr IsNot Nothing Then
                    fr.Close()
                End If
            End Try

  8. #8
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Question déjà posée, à laquelle tu n'as pas répondue :

    quel est l'encodage du fichier ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Je ne comprends pas la question. Si c'est l'éditeur VB 2010, je n'en sais rien. Si c'est Note Pad, pas plus.

    Pour moi, Note Pad c'est Note Pad. Je n'ai jamais cherché plus loin et je m'en sers depuis 15 ans. Il prend le français avec les accents. Et ça me suffit.

    Pour l'éditeur VB, je ne sais pas si il faut rajouter une ligne d'infos en plus de celles déjà mises pour la culture.

    A propos, je pense à quelque chose, il est bien entendu que c'est à la lecture des mots qui sont inscrits dans un fichier txt (qui en l'occurrence s'appelle ini) du note pad qu'il coince. Il ne lit pas d'autres fichiers.

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Quand tu crées le StreamReader, essaie de préciser Encoding.Default (qui correspond à ISO-8859-1, du moins sur un OS européen) comme encodage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fr = New System.IO.StreamReader(CheminConfig & "\" & "repart.ini", Encoding.Default)
    Parce que par défault il utilise UTF-8, et non pas Default (bah oui c'est bête ), et si en fait ton fichier est en ISO-8859-1 certains caractères seront mal interprétés

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Whombat Voir le message
    Pour moi, Note Pad c'est Note Pad. Je n'ai jamais cherché plus loin et je m'en sers depuis 15 ans. Il prend le français avec les accents. Et ça me suffit.
    Il y a différentes façons de représenter du texte en binaire... ASCII, ISO-8859-*, UTF-8, cp1252 (utilisé par la console) etc
    http://fr.wikipedia.org/wiki/Codage_de_caract%C3%A8res

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Super Tomlev !!!

    Je n'aurais jamais trouvé seul. C'est sûr. Même si j'avais lu qq part que, d'autorité, le default n'était peut-être pas tout à fait 'le défault', je ne m'y serais pas arrété parce que ce qu'on trouve sur le Net, lorsque c'est restrictif, est souvent pour le 2008 et ca a été corrigé pour le 2010.

    J'aurais eu tort !

    Un détail, la syntaxe exacte est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fr = New System.IO.StreamReader(CheminConfig & "\" & "repart.ini", System.Text.Encoding.Default, True)
    mais quand on a la base, c'était facile de trouver la faille.

    Merci encore.

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

Discussions similaires

  1. [SimpleXML] Problème avec les accents dans le XML
    Par trotters213 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 18/12/2006, 10h23
  2. Supprimer les accent dans une chaine
    Par avigeilpro dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 12/09/2006, 11h04
  3. afficher les accents dans un DBGRID
    Par TheCreole dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/08/2006, 10h20
  4. Remplacer les accents dans une chaîne
    Par mathieumg dans le forum C
    Réponses: 9
    Dernier message: 23/07/2006, 15h39
  5. ignorer les accents dans une recherche
    Par nono_cap dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/03/2006, 17h30

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