¿Cómo redirigir toda la salida de la consola a un Swing JTextArea / JTextPane con la codificación correcta?

He estado intentando redirigir System.out PrintStream a un JTextPane. Esto funciona bien, excepto por la codificación de caracteres de locale especiales. Encontré mucha documentación al respecto (ver por ej.Página de codificación de Mindprod), pero sigo luchando con eso. Preguntas similares se publicaron en StackOverFlow, pero la codificación no se abordó por lo que he visto.

Primera solución:

String sUtf = new String(s.getBytes("cp1252"),"UTF-8");

La segunda solución debe usar java.nio. No entiendo cómo usar el Charset.

Charset defaultCharset = Charset.defaultCharset() ;
byte[] b = s.getBytes();
Charset cs = Charset.forName("UTF-8");
ByteBuffer bb = ByteBuffer.wrap( b );
CharBuffer cb = cs.decode( bb );
String stringUtf = cb.toString();
myTextPane.text = stringUtf

Ninguna de las dos soluciones funciona. ¿Alguna idea?

Gracias de antemano, jgran

Respuestas a la pregunta(4)

Su respuesta a la pregunta