Tôi đã cố gắng chuyển hướng System.out PrintStream sang JTextPane. Điều này hoạt động tốt, ngoại trừ việc mã hóa các ký tự đặc biệt của miền địa phương. Tôi tìm thấy rất nhiều tài liệu về nó (xem ví dụ: mindprod encoding page), nhưng tôi vẫn đang chiến đấu với nó. Các câu hỏi tương tự đã được đăng trong StackOverFlow, nhưng mã hóa không được giải quyết như tôi đã thấy.Làm thế nào để chuyển hướng tất cả đầu ra bàn điều khiển đến một Swing JTextArea/JTextPane với mã hóa bên phải?
giải pháp đầu tiên:
String sUtf = new String(s.getBytes("cp1252"),"UTF-8");
giải pháp thứ hai nên sử dụng java.nio. Tôi không hiểu cách sử dụng 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
Không có giải pháp nào hoạt động. Bất kỳ ý tưởng?
Cảm ơn trước, jgran
tắt câu hỏi chủ đề: tại sao hai người dùng - jgran (OP) và jgran (người trả lời: http: //stackoverflow.com/questions/1522444/how-to-redirect- all-console-output-to-a-swing-jtextarea-jtextpane-với-the-right/1530213 # 1530213)? – akf
Sai lầm của tôi ... nên có Câu hỏi thường gặp nghiêm túc hơn. Vì vậy, cùng một người dùng! –