Lecture fichier texte, prob avec les accents

Résolu
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013 - 23 juin 2009 à 21:45
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013 - 24 juin 2009 à 08:13
Bonjour, j'ai un petit souci avec la gestion des fichiers texte.

Pour la création de mon logiciel je doit utilisé le principe des logiciels déjà crée dans la société (mais il n'était pas en VB.net). On doit pouvoir choisir la langue dans lequel le logiciel doit s'afficher. Le fichier langue est en format texte que je met dans une collection de type "Dictionary" avec un format:
MaVariable = Bonjour

Mon problème c'est que cela n'accepte pas les accents, cela me met un rectangle à la place. Qu'elle moyen j'ai pour qu'il les lise correctement car je ne peut pas toucher a l'écriture naturel du fichier texte.
Voici mon code:
<hr size="2" width="100%" />
    Public Language As New Dictionary(Of String, String)
    Sub lectureFichier(ByVal fichier As String)

        Dim Tab(2) As String    'Pour le stockage intermediaire des Morceaux de ligne
        Try
            Dim ligne As String
            Dim Car As String
            ' Création d'une instance de StreamReader pour permettre la lecture de notre fichier
            Dim monStreamReader As StreamReader = New StreamReader(fichier)

            'Lecture de toutes les lignes
            Do
                ligne = monStreamReader.ReadLine()          'Remplissage de la ligne avec le fichier de langue
                Car = Mid(ligne, 1, 1)                                  'Contrôle du 1er caractère de la ligne pour mettre des commentaire
                If Car <> "#" And Car <> "" Then
                    Tab = ligne.Split("=")                               'Coupure en 2 de la ligne
                    Tab(0) = Trim(Tab(0))                            'Supression des espaces de chaque coté si besoin
                    Tab(1) = Trim(Tab(1))
                    If Not Language.ContainsKey(Tab(0)) Then        Permet de verifier si il n'y a pas 2 Key identique
                        Language.Add(Tab(0), Tab(1))
                    End If
                End If
            Loop Until ligne Is Nothing
           monStreamReader.Close()
        Catch ex As Exception
            MsgBox("Erreur de lecture du fichier")
        End Try
    End Sub
<hr size="2" width="100%" />

Merci

Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
23 juin 2009 à 22:16
Salut

Regardes du coté des encoding.

http://msdn.microsoft.com/en-us/library/aa328960(VS.71).aspx

Bon dev
3
cs_megamario Messages postés 145 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 14 février 2013
24 juin 2009 à 08:13
Merci, j'ai trouvé grace a votre aide,
Il faut juste rajouter
System.Text.Encoding.Default

Dim monStreamReader As StreamReader = _
 New StreamReader(fichier,System.Text.Encoding.Default)

Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
0
Rejoignez-nous