BufferedReader input = new BufferedReader( new InputStreamReader(System.in, "UTF-8")); String s = input.readLine(); System.out.println(s); 使用InputStreamReader记得指定字符编码,不指定字符编码都是危险的做法,因为不同机器不同系统上的默认编码可能不同,就算你非常肯定就是要用默认编码,你也最好显式地指定使用默认编码,或者至少用注释醒目地说明这里使用的是什么编码
new InputStreamReader(System.in, "UTF-8"));
String s = input.readLine();
System.out.println(s);
使用InputStreamReader记得指定字符编码,不指定字符编码都是危险的做法,因为不同机器不同系统上的默认编码可能不同,就算你非常肯定就是要用默认编码,你也最好显式地指定使用默认编码,或者至少用注释醒目地说明这里使用的是什么编码
你是什么系统?地区设置的哪里?还有默认系统编码是?
一般来说只要保证和控制台编码相同就没有问题啊
win7 64位旗舰版中文 什么地区设置? 默认应该是GBK的。此java源文件是utf-8编码的,我在Common下面把控制台编码也设置为utf-8编码。比如说,输入”你好“,输出如图所示的乱码。我知道如果都用GBK编码,就不会出现中文乱码了。我是想用utf-8读取键盘输入也不要出现乱码啊。
你是必须要用UTF-8吗?