Accent

MaitreTeTe Messages postés 37 Date d'inscription jeudi 4 février 2016 Statut Membre Dernière intervention 1 décembre 2018 - 17 oct. 2016 à 23:36
 geeegeee124 - 24 oct. 2016 à 13:31
Bonjours.
Je rencontre un petit problème. Je lit un fichier *txt et j'implante le tout dans un tableau. Le tout fonctionne. Cela dit, les é, à , Û et etc... son inscrit avec un caractère bizarre dans un losange.

If System.IO.File.Exists(Application.StartupPath & "\System\Data\horaire.nasd") Then
Dim lesLignes As String() = System.IO.File.ReadAllLines(Application.StartupPath & "\System\Data\horaire.nasd")
For Ligne = 0 To lesLignes.Count() - 1 Step 10
Temp1 = lesLignes(Ligne + 3)
Temp2 = lesLignes(Ligne + 4)
Temp3 = lesLignes(Ligne + 5)
Temp4 = lesLignes(Ligne + 6)
Temp5 = lesLignes(Ligne + 7)
Temp6 = lesLignes(Ligne + 8)
HoraireTableau.Rows.Add(Temp1, Temp2, Temp3, Temp4, Temp5, Temp6)
Next
End If


Comment faire en sorte que les accents sois pris en charge ???
Merci

3 réponses

MaitreTeTe Messages postés 37 Date d'inscription jeudi 4 février 2016 Statut Membre Dernière intervention 1 décembre 2018
18 oct. 2016 à 01:19
Si je fais un Test et que je met cette ligne a la fin de mon code:
HoraireTableau.Rows.Add("Alain Carrié", "Kevin Harvick", "4", "4", "12", "20")


Le é de Carrié est visible. Mes Valeur Temp1 Temp2 sont en String dans un module.
0
MaitreTeTe Messages postés 37 Date d'inscription jeudi 4 février 2016 Statut Membre Dernière intervention 1 décembre 2018
18 oct. 2016 à 01:59
Bon et bien j'ai fini par trouver pourquoi sa fait ça.

Je dois utiliser la ligne de code
Dim lesLignes As String() = System.IO.File.ReadAllLines(Application.StartupPath & "\System\Data\horaire.nasd", System.Text.Encoding.Default

C'est étrange car les autre fichier j'en ai pas besoin. De plus, dans les choix je n'est pas le Type d'encodage ANSI.

Le problème est que ci les autre pc on pas ce type d'encodage par defaut, sa ne fonctionnera surment plus :O Si vous avez une alternative ?
0
geeegeee124
24 oct. 2016 à 13:31
Bonjour,

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


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

de: http://www.developpez.net/forums/d1143927/dotnet/langages/vb-net/accents-vb-net/:
0
Rejoignez-nous