Así que estoy tratando de hacer que mi programa muestre un archivo de texto con una lista de nombres. Algunos de los nombres tienen caracteres extraños, como Åström.¿Cómo puedo hacer que eclipse imprima caracteres extraños en Unicode?
me han agarrado éstas lista de nombres de una página web que está codificado en "UTF-8", o al menos estoy bastante seguro de que lo hace debido a que la fuente de la página dice
"http-equiv meta = "Content-Type" content = "text/html; charset = UTF-8"/"
Esto es lo que he probado hasta ahora:
public static void write(List<String> list) throws IOException {
Writer out = new OutputStreamWriter(new FileOutputStream("test.txt"), "UTF-8");
try {
for (int i=0;i<list.size();i++) {
try {
byte[] utf8Bytes = list.get(i).getBytes("UTF-8");
out.write(new String(utf8Bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
out.write(System.getProperty("line.separator"));
}
}
finally {
out.close();
}
}
y yo soy un poco confundido en cuanto a por qué no está funcionando. El resultado que obtengo es "à ... ström", que es muy extraño.
¿Puede alguien señalarme en la dirección correcta? ¡Gracias!
Y en otra nota relacionada, hay una manera más fácil de escribir una nueva línea en un archivo de texto, además de la torpe
out.write (System.getProperty ("line.separator"));
que tengo? Lo vi en línea en algún lado y funciona, pero me preguntaba si habría una manera más limpia.
¿Qué usa para abrir el archivo cuando lo revisa? Es posible que el programa pueda detectar la codificación errónea. –
Además, para verificar la codificación de la página web, intente buscar la codificación detectada. Según el navegador, puede estar en el menú "Ver" o en el "menú de herramientas -> codificación" en Chrome. –
Estoy abriendo el archivo en el bloc de notas. Cuando copio y pegué la palabra en el bloc de notas, los caracteres aparecen correctamente, pero cuando ejecuto el programa aparece lo divertido. – wynnch