java 控制台捕获中文 出错
来源:百度知道 编辑:UC知道 时间:2024/06/21 01:04:17
一个搜索程序 Scanner input = new Scanner(System.in);String name = input.next();假如输入:张三,下面的程序搜索不到 假如Scanner input = new Scanner(System.in);String name = input.next();加上name = "张三",则正确搜索到结果,这是不是因为控制台输入中文编码的问题?怎么办?
eclipse控制台是支持中文输入的。。。
你可以这样判断一下你得到的name是否是你想要的
我试了一下,这样是好用的
if(name.equals("张三")){
}
所以应该不存在楼主说的现象,如果有的话楼主不妨把其它代码贴上来一起研究。。。
你System.out.println(input);看看是不是乱码
String(byte[] bytes, String charsetName)
用这个方法转下看看
控制台显示出来的可能是ISO-8859-1格式
你转化成你要的编码 我的机器上是UTF8 你的也有可能 或者GBK GB2312
写法示例:(我这没工具,大小写可能有误)
String newString=new String(name.getBytes("ISO-8859-1"),"UTF8");
还有用String的trim()方法处理,去掉前后的空白。