Bonjour,
Lors de la lecture d'un fichier texte, les caractères accentués apparaissent sous la forme de carrés dans un MessageBox. Comment peut on éviter ça ? merci infiniment.
Bonjour,
Lors de la lecture d'un fichier texte, les caractères accentués apparaissent sous la forme de carrés dans un MessageBox. Comment peut on éviter ça ? merci infiniment.
A priori, tu dois lire le fichier en attendant un charset différent de celui avec lequel il a été enregistré...
Dans quel charset est ton fichier, et quel code utilises-tu pour le lire ?
Je fais comme suite :
Merci beaucoup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 using (StreamReader sr = File.OpenText(fullName)) { string s = ""; while ((s = sr.ReadLine()) != null) { String[] tbStr = s.Split(new Char [] {';'}); string add = tbStr[0]; for (int i = 1; i < tbStr.Length; i++) { add =add +"\n"+tbStr[i] ; } MessageBox.Show(add); }
La méthode File.OpenText utilise toujours un encodage (charset) UTF-8 pour la lecture du fichier. Si ton fichier n'est pas encodé en UTF-8, les caractères accentués passent à la trappe.
Essaye avec ceci
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 using (StreamReader sr = new StreamReader(fullName, Encoding.Default)) { ... }
Pour texte DOS:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 StreamReader sr = new StreamReader("monFichier.txt", Encoding.GetEncoding("iso-8859-1")) ;
Partager