我有編碼麻煩與俄羅斯simbols。首先,我已經決定控制檯輸出問題,此代碼:編碼控制檯俄語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 "???,??"
掃描儀SC =新的掃描儀( System.in,「UTF-8);
或」cp866「不適用於我(或僅適用於Windows)我需要這樣的通用決策,可以適應並接受輸入俄語字符到任何操作系統控制檯(mac OS/win)
謝謝你的快速回答,它只適用於位於俄羅斯地區的mashines嗎? – TheOriginalNickname
'useLocale(Locale locale)'方法將此掃描器的語言環境設置爲指定的語言環境。這是'Scanner sc',它將使用'Russian Locale'。它與位於俄羅斯地區的機器無關。 – thegauravmahawar
不幸的是,它並沒有幫助 – TheOriginalNickname