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.
 

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.

Preguntas similares