编码控制台俄罗斯sumbols输入

时间:2015-09-20 10:28:28

标签: java encoding console symbols cyrillic

我对俄语simbols有编码麻烦。首先,我已经使用此代码确定了控制台输出问题:

address

但我有控制台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

扫描仪sc =新扫描仪(System.in," UTF-8);

或" cp866"不适用于我(或只适用于Windows)我需要这样的普遍决定,可以适应和接受输入俄语字符到任何操作系统控制台(mac OS / win)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

Locale对我没有任何帮助。该文件应保存为UTF-8,运行该程序的控制台也必须使用UTF-8。当我需要使用俄语字符时,我只是通过eclipse运行程序,这对我有用。要保存为UTF-8,请右键单击包浏览器中的文件 - >属性 - >文本文件编码,选择其他,键入UTF-8。