Mes accentuations disparaissent quand je passe un texte dans une variable string [Résolu]

Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
- - Dernière réponse : cs_mathmax
Messages postés
404
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
3
Merci
Dans le constructeur de ton StreamReader / Writer

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 190 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
0
Merci
à 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

@++
Commenter la réponse de cs_badrbadr
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
0
Merci
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 ?
Commenter la réponse de cs_mathmax
Messages postés
404
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
0
Merci
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
Commenter la réponse de cs_mathmax