Je ne peux pas lire ces caractères spéciaux que j'ai essayés comme ça
1ère voie #
string xmlFile = File.ReadAllText(fileName);
2ème voie #
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string s = r.ReadToEnd();
Mais les deux déclarations ne comprennent pas ces caractères spéciaux. Comment devrais-je lire?
MISE À JOUR ###
J'essaye aussi tous les encodages avec
string xmlFile = File.ReadAllText(fileName, Encoding. );
mais je ne comprends toujours pas ces caractères spéciaux.
Il n'y a pas de "caractère spécial". Ce sont probablement des caractères ascii étendus de l'ensemble latin1 (iso-8859-1). Vous pouvez les lire en fournissant un encodage explicite au lecteur de flux (sinon il supposera UTF8)
using (StreamReader r = new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
r.ReadToEnd();
StreamReader sr = new StreamReader(stream, Encoding.UTF8)
Vous devez dire au StreamReader que vous lisez Unicode comme ça
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
Si votre fichier est d'un autre encodage, spécifiez-le comme deuxième paramètre