Problema con tildes

21/02/2006 - 12:27 por Alberto | Informe spam
Estoy leyendo un fichero de texto con el siguiente código:

sr = fichero.OpenText();

texto = sr.ReadToEnd();



Pero tengo el problema de que no me aparecen las letras que llevan tilde.

¿Cómo lo puedo solucionar?

Gracias

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
21/02/2006 - 15:20 | Informe spam
OpenText usa la codificacion UTF-8 para leer el archivo y si este no fue
grabado como UTF-8 entonces pierdes las letras. La solucion es abrir
directamente un StreamReader pasandole como parametro la codificacion del
archivo. Por ejemplo:

StreamReader reader = new StreamReader("archivo.txt",
System.Text.Encoding.ASCII);

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 solusoft
21/02/2006 - 16:26 | Informe spam
Hola a todos,

cómo puedo saber la codificación que tiene un fichero (si es UTF-8, ANSI,
etcétera) ?. Existe alguna manera ?

Gracias de antemano.



"Eduardo A. Morcillo [MS MVP VB]" escribió:

OpenText usa la codificacion UTF-8 para leer el archivo y si este no fue
grabado como UTF-8 entonces pierdes las letras. La solucion es abrir
directamente un StreamReader pasandole como parametro la codificacion del
archivo. Por ejemplo:

StreamReader reader = new StreamReader("archivo.txt",
System.Text.Encoding.ASCII);

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C



Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
21/02/2006 - 20:11 | Informe spam
cómo puedo saber la codificación que tiene un fichero (si es UTF-8,
ANSI, etcétera) ?. Existe alguna manera ?



Que yo sepa no hay una forma segura de saberlo. Si el archivo esta en
unicode puede ser que tenga el caracter FEFF al comienzo (el BOM) pero no
siempre un archivo en unicode lo tiene. Si el archivo no es unicode y no hay
ninguna forma de saber que codificacion tiene lo mas probable es que usando
la pagina de codigo activa se pueda leer correctamente.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Alberto
22/02/2006 - 09:26 | Informe spam
Acabo de probar con:
StreamReader sr = new StreamReader(fichero.DirectoryName + @"\" +
fichero.Name, System.Text.Encoding.ASCII);

string texto = sr.ReadToEnd();

Pero sigue igual. Los ficheros que está leyendo sí que tienen las tildes.
¿Qué puede estar ocurriendo?

Muchas gracias

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
OpenText usa la codificacion UTF-8 para leer el archivo y si este no fue
grabado como UTF-8 entonces pierdes las letras. La solucion es abrir
directamente un StreamReader pasandole como parametro la codificacion del
archivo. Por ejemplo:

StreamReader reader = new StreamReader("archivo.txt",
System.Text.Encoding.ASCII);

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#5 Eduardo A. Morcillo [MS MVP VB]
22/02/2006 - 15:28 | Informe spam
Prueba con System.Text.Encoding.Default.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida