duda con Encoding de ficheros de texto

17/08/2007 - 22:05 por Carmelo J. Morales Muñoz | Informe spam
¡hola!

Resulta que he realizado un programa que genera un fichero de texto que ha
de importar una aplicación que trabaja sobre linux. Todo bien exceptuando
que los acentos y Ñs no se los traga.

En probado a crear el fichero de texto con distintos valores de de
codificación, pero me dicen que al importar el fichero al programa que corre
bajo linux los acentos y Ñs siguen sin aparecer. Os pongo un poco de código
de como creo el fichero destino a ver si veis algo mal.

bye_!



// apertura de los streams
StreamReader sr = new
StreamReader(tbFicheroOrigen.Text.ToString(), Encoding.UTF7);
Encoding codificacion;
switch (cbCodificacion.SelectedIndex) {
case 0:
codificacion = Encoding.ASCII;
break;

case 1:
codificacion = Encoding.Unicode;
break;

case 2:
codificacion = Encoding.UTF7;
break;

case 3:
codificacion = Encoding.UTF8;
break;

default:

codificacion = Encoding.BigEndianUnicode;
break;
}
StreamWriter sw = new
StreamWriter(tbFicheroDestino.Text.ToString(),false,codificacion);


Espero me puedan echar una mano, no se que hacer y como no tengo acceso a la
maquina servidora pues solo puedo modificar el ejecutable y esperar que me
digan los resultados.

Preguntas similare

Leer las respuestas

#1 Guillermo guille
18/08/2007 - 02:48 | Informe spam
Del UTF7 y del ASCII olvidate, ya que no soporta caracteres "extendidos".
En teoría (aunque les duela a los de Linux), con el valor Encoding.Default
(ANSI de Windows) debería ir bien.
Y lo correcto sería usar UTF8 que ese formato si que lo soporta Linux.

Nos vemos
Guillermo

Microsoft MVP Visual Basic desde 1997
Tus consultas en los foros del Guille: http://foros.elguille.info/


"Carmelo J. Morales Muñoz" wrote in message
news:
¡hola!

Resulta que he realizado un programa que genera un fichero de texto que ha
de importar una aplicación que trabaja sobre linux. Todo bien
exceptuando que los acentos y Ñs no se los traga.

En probado a crear el fichero de texto con distintos valores de de
codificación, pero me dicen que al importar el fichero al programa que
corre bajo linux los acentos y Ñs siguen sin aparecer. Os pongo un poco de
código de como creo el fichero destino a ver si veis algo mal.

bye_!



// apertura de los streams
StreamReader sr = new
StreamReader(tbFicheroOrigen.Text.ToString(), Encoding.UTF7);
Encoding codificacion;
switch (cbCodificacion.SelectedIndex) {
case 0:
codificacion = Encoding.ASCII;
break;

case 1:
codificacion = Encoding.Unicode;
break;

case 2:
codificacion = Encoding.UTF7;
break;

case 3:
codificacion = Encoding.UTF8;
break;

default:

codificacion = Encoding.BigEndianUnicode;
break;
}
StreamWriter sw = new
StreamWriter(tbFicheroDestino.Text.ToString(),false,codificacion);


Espero me puedan echar una mano, no se que hacer y como no tengo acceso a
la maquina servidora pues solo puedo modificar el ejecutable y esperar que
me digan los resultados.

Respuesta Responder a este mensaje
#2 Carmelo J. Morales Muñoz
18/08/2007 - 20:52 | Informe spam
Muchas gracias! haré alguna prueba mas, pero te comento:

Para poder leer el fichero origen de forma correcta tube que utilizar UTF7,
si no lo hacia así no podía ver caracteres acentuados o Ñs.


Ahora, si le digo que use utf8 para escribir el fichero destino, cuando el
programa basado en linux lo importa no reconoce caracteres especiales.

Voy a probar con "default" como indicas y te comento.

gracias por todo!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida