2015-09-20 2 views
1

У меня проблемы с кодировкой с русскими симболами. Во-первых, я решил выход проблема консоли с этим кодом:Кодирующая консоль русский sumbols ввод

String consoleEncoding = System.getProperty("consoleEncoding"); 
if (consoleEncoding != null) { 
    try { 
     System.setOut(new PrintStream(System.out, true, consoleEncoding)); 
    } catch (java.io.UnsupportedEncodingException ex) { 
     System.err.println("Unsupported encoding set for console: "+consoleEncoding); 
    } 
} 

, но у меня есть консоль Scanner вход, который может иметь русские символы тоже, но если будет делать как этот

Scanner sc = new Scanner (System.in); 
String text = sc.nextline(); //if user input here eg "Привет,Мир" 
System.out.println(text); // here I will recieve "???,??" 

Сканер СБН = новый сканер (System.in, «UTF-8»;

или «cp866» не будет работать для меня (или будет работать только для Windows) Мне нужно такое универсальное решение, которое может адаптировать и принимать входные русские символы на любую консоль ОС (mac OS/win)

ответ

1
Locale loc = new Locale("ru"); 
Scanner sc = new Scanner(System.in, "UTF-8"); 
sc.useLocale(loc); 
+0

спасибо за быстрый ответ, будет ли он работать только для машин, расположенных в русском регионе? – TheOriginalNickname

+0

Метод 'useLocale (Locale locale)' устанавливает локаль этого сканера в указанную локаль. Это «Сканер sc», который будет использовать «Русский язык». Он не имеет ничего общего с машинами, расположенными в российском регионе. – thegauravmahawar

+0

К сожалению, это не помогло – TheOriginalNickname

0

Язык не сделал ничего для меня. Файл должен быть сохранен как UTF-8, а консоль, на которой вы запускаете программу, должна также использовать UTF-8. Я просто запускаю программу через eclipse, когда мне нужно использовать русские символы, и это работает для меня. Чтобы сохранить как UTF-8, щелкните правой кнопкой мыши файл в проводнике пакетов -> Свойства -> Текстовое кодирование файлов, выберите «Другое», введите UTF-8.

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

  • Нет связанных вопросов^_^