2013-09-10 2 views
1

У меня проблема с сканированием иврита в Netbeans. Я пытаюсь проверить вход пользователя и присутствовать в консоли, но он выглядит как тарабарщина.Сканер в JAVA выводит тарабарницу вместо иврита

Мой код:

public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.println("Please input:"); 
    System.out.println("Your input is: " + input.next()); 
} 

и это консоль:

пробег:

Пожалуйста, введите:

שלום

Ваш вход:

BUILD SUCCESSFUL (общее время: 3 секунды)

Точный точный код отлично работает на Eclipse. Если I Println() является ивритским словом, он также отлично работает, поэтому это не проблема кодирования. (я использую Netbeans 7.3.1)

Большое спасибо,

Бараку.

+0

Какая консоль, консоль NetBeans? Он может просто использовать шрифт, который не содержит иврит. Для меня, иврит, конечно, это * тарабарщина :) –

+3

'... так что это не проблема кодирования ...' - вы уверены? Что такое кодировка кодировки консоли для Eclipse и для NetBeans? Вы проверили? –

+0

owlstead - да, я имею в виду консоль Netbeans. Я знаю, что это не проблема кодирования, потому что, как я уже сказал, когда я просто печатаю() еврейское слово, оно отображает его без проблем. –

ответ

2

Когда вы вызываете Scanner(InputStream), который будет использовать кодировку по умолчанию платформы, чтобы преобразовать байты из потока в текст.

Я подозреваю, что вам просто нужно выяснить, какую кодировку использует ваша консоль, и использовать это либо для построения InputStreamReader вокруг System.in для начала, либо для передачи имени кодировки в качестве второго аргумента конструктору.

+0

Привет, спасибо, за быстрый ответ! Я пытаюсь создать InputStreamReader, но он показывает «незарегистрированное исключение» «InputStreamReader in = new InputStreamReader (System.in,« UTF-8 »); Также пробовал «Windows-1255». Правильно ли я это делаю? –

+1

@ Bobcat100: Какое исключение? Я бы ожидал, что он даст подробности ... EDIT: Ах, да, конструктор 'InputStreamReader' может бросить' UnsupportedEncodingException'. Какую версию Java вы используете? Если вы используете Java 7, используйте 'new InputStreamReader (System.in, StandardCharsets.UTF_8)' –

+0

Исключение в потоке «main» java.lang.RuntimeException: Некомпилируемый исходный код - неподтвержденное исключение java.io.UnsupportedEncodingException; должен быть пойман или объявлен брошенным \t на hebrew.Hebrew.main (Hebrew.java:20) Java Результат: 1 –

Смежные вопросы