por - cómo leer caracteres especiales como é, â y otros en C#
leer cadena de caracteres en c (3)
No puedo leer esos caracteres especiales que probé así.
1er camino #
string xmlFile = File.ReadAllText(fileName);
2ª vía #
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string s = r.ReadToEnd();
Pero ambas declaraciones no entienden esos caracteres especiales. ¿Cómo debo leer?
ACTUALIZAR ###
También intento todos los códigos con
string xmlFile = File.ReadAllText(fileName, Encoding. );
Pero todavía no entiendo esos caracteres especiales.
No hay tal cosa como "carácter especial". Lo que probablemente son los caracteres ascii extendidos del conjunto latin1 (iso-8859-1). Puede leerlos proporcionando codificación explícita al lector de secuencias (de lo contrario, asumirá UTF8)
using (StreamReader r = new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
r.ReadToEnd();
Tienes que decirle al StreamReader que estás leyendo Unicode así.
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
Si su archivo es de alguna otra codificación, especifíquelo como el segundo parámetro
StreamReader sr = new StreamReader(stream, Encoding.UTF8)