Vb et caractère spéciaux

homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014 - 5 févr. 2014 à 18:08
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014 - 5 févr. 2014 à 19:53
Salut tout le monde,
J'ai un petit problème de texte un peu bizarre, je m'explique...
Dans mon interface la personne choisi une catégorie dont certaines ont le caractère ® à la fin. (choix dans une combobox)
En validant, un fichier texte est créé (je récupère la propriété text de la combobox) et la apparaît mon problème :
dans le bloc note de base j'ai bien le caractère ® mais dans le logiciel destiné à lire ce fichier et aussi dans Windows Write j'ai ®!!
Comment gérer ce problème pour n'avoir que ® ?
Merci pour vos réponses.

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
5 févr. 2014 à 18:26
Bonsoir,

Quel est le code que tu utilises (utilises la coloration syntaxique ) ?
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
5 févr. 2014 à 19:24
Pour le chargement je procède comme ça :

        With cbo_Mat.Items
            .Add("Epicea")
            .Add("Epicea ®")
            .Add("Chêne")
            .Add("Chêne ®")
            .Add("CC")
            .Add("BLC")
            .Add("Autre...")
        End With


Je crée une string stockée dans une cellule de datagridview
et quand je valide le tout j'utilise ce code :

        Dim sw As New StreamWriter(MonBvn)
        'Ligne titre
        Dim Tit As String = txt_CodeDoss.Text & "_" & txt_NomDoss.Text
        sw.WriteLine(New String(" ", 4) & Tit & New String(" ", 4 + (20 - Tit.Length)) & Now.ToString("yyyyMMdd") & My.Settings.ID_Util)
        'Ligne info
        sw.WriteLine("BVINFO " & If(txt_TrDoss.Text <> "U", "Tr-" & txt_TrDoss.Text, "") & If(txt_ZDoss.Text <> "", "Z-" & txt_ZDoss.Text, ""))
        'Ecriture des pièces
        For i = 0 To dgv_Doss.Rows.Count - 1
            MaPièce = Split(CStr(dgv_Doss.Rows(i).Cells("BVN").Value), "+")
            For p = 0 To MaPièce.Length - 1

                If p = 0 Then
                    If dgv_Doss.Rows(i).Cells("III").Value = True Then
                        sw.WriteLine(MaPièce(p) & New String(" ", 69 - MaPièce(p).Length) & "CL. III")
                    Else
                        sw.WriteLine(MaPièce(p))
                    End If
                Else
                    sw.WriteLine(MaPièce(p))
                End If

            Next
        Next



j'ai essayé une boucle pour supprimer le "Â" dans le fichier mais il réapparaît!
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
Modifié par NHenry le 5/02/2014 à 19:35
Il faut définir dans ton StreamWriter d'utiliser l'encodage UTF-8 et dans ton StreamReader aussi.

System.Text.Encoding.UTF8 (si mes souvenirs sont bons)
0
homer73 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 14 août 2014
5 févr. 2014 à 19:53
Merci NHenry, j'ai essayé tout les types d'encodage et c'est le Default qui fonctionne.
Dim sw As New StreamWriter(MonBvn, System.Text.Encoding.Default)

Merci, un problème de moins!!
0
Rejoignez-nous