Lecture fichier texte, prob avec les accents [Résolu]

Signaler
Messages postés
146
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
14 février 2013
-
Messages postés
146
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
14 février 2013
-
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

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Regardes du coté des encoding.

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

Bon dev
Messages postés
146
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
14 février 2013

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.