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

Résolu
Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
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

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Dans le constructeur de ton StreamReader / Writer

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
1
à 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

@++
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

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 ?
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

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