Mes accentuations disparaissent quand je passe un texte dans une variable string

Résolu
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 22 nov. 2005 à 23:45
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008 - 29 nov. 2005 à 23:57
Bonjour,


Voilà mon problème : j'ai écris un bout de programme qui copie du texte dans une variable string. Tout fonctionne très bien sauf que mes accentuations (à,é,ö,è,ù,...) sont remplaçés par des (?). Savez vous à quoi cela peut être dû ?


voici un bout de mon programme :



FileStream File =
new
FileStream(MyFileInfo.FullName,
FileMode.Open,
FileAccess.Read);



StreamReader sr =
new
StreamReader(File);



string s = sr.ReadToEnd();


sr.Close();


File.Close();



Regex MyRegex =
new
Regex(
"<!--Recopier ici le nom du fichier-->");


s = MyRegex.Replace(s, MyFileInfo.Name.ToString());



FileStream NewFile =
new
FileStream(MyFileInfo.FullName,
FileMode.Create,
FileAccess.Write);



StreamWriter sw =
new
StreamWriter(NewFile);


sw.Write(s);


sw.Close();


NewFile.Close();






Mathmax

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 nov. 2005 à 14:14
Dans le constructeur de ton StreamReader / Writer

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
3
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
23 nov. 2005 à 05:37
à première vue, tu dois peut-etre spécifier un encodage unicode qui te convient.


Je n'y connais pas grand chose mais check du côté namespace System.Text
il y a des fonctions pour l'encodage

en tout cas, bonne chance

@++
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
23 nov. 2005 à 12:10
Quand je remplace le namspace, ça génère des erreurs. Ce qui m'étonne c'est que quand on pointe sur string, on peut lire : "Represents text as a series of Unicode characters". Ca ne semble pas être le cas, à moins qu'il ne faille pas utiliser ce jeu de caractère. Quel jeu dois-je alors utiliser ? Et comment spécifier qu'on utilise ce jeu de caractère ?
0
cs_mathmax Messages postés 403 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 31 août 2008
29 nov. 2005 à 23:57
Merci, j'ai cherché les paramètres d'encodage pour
StreamReader et de StreamWriter et je suis tombé sur cette page :
http://weblogs.asp.net/rosherove/archive/2003/05/15/7054.aspx
J'ai appliqué "System.Text.Encoding.Default" à mon StreamReader et de StreamWriter et ça marche ! Mes accents restent en place.

Merci encore :-)

Mathmax
0
Rejoignez-nous