Java - codificación de caracteres

 
Vista:

codificación de caracteres

Publicado por Jesús (8 intervenciones) el 14/11/2007 11:55:27
Hola, necesito transformar un string en un array de bytes. El siguiente código lo hace bien, el problema es que cuando luego reviso el fichero en el que he escrito el array de bytes, me encuentro con que no pone "Hola Jesús" sino "Hola Jes?s". No respeta las tildes, las "ñ" ni otros caracteres de ese estilo.

He probado a cambiar el encoding, pero sigo sin conseguirlo. ¿Alguien podría probarlo, a ver si le funciona correctamente? ¿O alguien me podría decir por qué sucede esto y cómo lo podría solucionar?

Muchas gracias, un saludo.

/************************************************************************/
public static void prueba(){

try{
String encoding = "ISO-8859-1";
String nombreFichero = "c:/pruebaGetBytes";
String s = "Hola Jesús";
byte[] b = s.getBytes(encoding);


FileOutputStream fos = new FileOutputStream(new File(nombreFichero));
OutputStreamWriter fw = new OutputStreamWriter(fos, encoding);
for (int i= 0; i< b.length; i++)
fw.write(b[i]);
fw.flush();
fw.close();
}
catch (Exception e){
System.out.println("Excepción: " + e.getMessage());
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:codificación de caracteres

Publicado por inigo (1 intervención) el 15/11/2007 21:06:32
Prueba con:
String s = New String("Hola Jesús", "ISO-8859-1")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar