Как перенаправить весь консольный вывод в Swing JTextArea / JTextPane с правильной кодировкой?

Я пытался перенаправить System.out PrintStream в JTextPane. Это прекрасно работает, за исключением кодирования специальных символов локали. Я нашел много документации об этом (см. Например.страница кодирования mindprod), но я все еще борюсь с этим. Подобные вопросы были опубликованы в StackOverFlow, но, насколько я видел, кодировка не была рассмотрена.

Первое решение:

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

Второе решение должно использовать java.nio. Я не понимаю, как использовать 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

Ни одно из решений не работает. Любая идея?

Заранее спасибо, jgran

Ответы на вопрос(4)

Ваш ответ на вопрос