2013-06-18 28 views
5

Tôi có một chuỗi Nga mà tôi đã được mã hóa sang UTF-8Không thể in ký tự tiếng Nga

String str = "\u041E\u041A"; 
System.out.println("String str : " + str); 

Khi tôi in các chuỗi trong nhật thực console tôi nhận được ?? bất cứ ai có thể đề xuất cách in chuỗi Nga để an ủi hoặc những gì tôi đang làm sai ở đây?

Tôi đã cố gắng chuyển đổi nó để byte sử dụng byte myArr[] = str.getBytes("UTF-8") và sau đó new String(myArr, "UTF-8") vẫn cùng một vấn đề :-(

+0

[liên kết] (http://hints.macworld.com/article.php?story=20050208053951714) Điều này có vẻ như vấn đề của bạn ... – XapaJIaMnu

+1

Đi tới Chạy> Chạy Cấu hình> Chung> Thay đổi mã hóa bảng điều khiển thành UTF-8. –

Trả lời

4

Hãy thử điều này:

String myString = "some cyrillic text"; 
byte bytes[] = myString.getBytes("ISO-8859-1"); 
String value = new String(bytes, "UTF-8"); 

Hoặc này:

String myString = "some cyrillic text"; 
byte bytes[] = myString.getBytes("UTF-8"); 
String value = new String(bytes, "UTF-8"); 

Vấn đề chính với Nga của nó để đặt mã hóa UTF-8 chính xác.

1

Một câu hỏi: là giao diện điều khiển của bạn có khả năng hiển thị các ký tự tiếng Nga ở tất cả

0

Phông chữ hiển thị của giao diện điều khiển sẽ hầu như không đối phó với các nhân vật nonASCII.

Bạn có thể thử in vào một tập tin thay vì sau đó System.out

0

My Eclipse in nó một cách chính xác

String str : ОК 

cố gắng để thay đổi mã hoá Run Configurations sang UTF-8 hoặc CP1251

2

Trong nhật thực Đi tới Chạy> Chạy cấu hình> Chung> Thay đổi mã hóa bảng điều khiển thành UTF-8. Bạn sẽ có thể thấy các ký tự tiếng Nga trong bảng điều khiển