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());
}
}
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


0