Como redirecionar toda a saída do console para um Swing JTextArea / JTextPane com a codificação correta?

Eu tenho tentado redirecionar System.out PrintStream para um JTextPane. Isso funciona bem, exceto pela codificação de caracteres de localidade especiais. Eu encontrei muita documentação sobre isso (veja por ex.página de codificação mindprod), mas eu ainda estou lutando com isso. Perguntas similares foram postadas no StackOverFlow, mas a codificação não foi endereçada até onde eu vi.

Primeira solução:

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

A segunda solução deve usar o java.nio. Eu não entendo como usar o 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

Nenhuma solução funciona. Qualquer ideia?

Agradecemos antecipadamente, jgran

questionAnswers(4)

yourAnswerToTheQuestion