Estoy usando el siguiente código para leer un archivo de texto que contiene caracteres extraños, el archivo está codificado ANSI y se ve bien en el bloc de notas. El código siguiente no funciona, cuando los valores de los archivos se leen y se muestran en la cuadrícula de datos, los caracteres aparecen como cuadrados, ¿podría haber otro problema en otro lugar?C# Ayuda a leer caracteres extranjeros usando StreamReader
StreamReader reader = new StreamReader(inputFilePath, System.Text.Encoding.ANSI);
using (reader = File.OpenText(inputFilePath))
Gracias
Actualización 1: He intentado todas las codificaciones que se encuentran bajo System.Text.Encoding
. y todos fallan al mostrar el archivo correctamente.
Actualización 2: Cambié la codificación del archivo (volvió a guardar el archivo) a unicode y usé System.Text.Encoding.Unicode
y funcionó bien. Entonces, ¿por qué el bloc de notas lo leyó correctamente? ¿Y por qué no System.Text.Encoding.Unicode
leyó el archivo ANSI?
¿Estás seguro de que está codificado en ANSI? A veces el Bloc de notas intentará una "mejor estimación" y utilizará una codificación diferente a la esperada. –
Si el bloc de notas determina que un archivo no es Unicode o UTF-8, recurrirá a la configuración regional del sistema (configurado en el panel de control -> Área de región e idioma). –