我一直在尝试将 System.out PrintStream 重定向到 JTextPane。这工作正常,除了特殊语言环境字符的编码。我找到了很多关于它的文档(参见例如mindprod 编码页面),但我仍在与它作斗争。StackOverFlow 中发布了类似的问题,但就我所见而言,编码并没有得到解决。
第一个解决方案:
String sUtf = new String(s.getBytes("cp1252"),"UTF-8");
第二种解决方案应该使用 java.nio。我不明白如何使用字符集。
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