您的位置:首页 > 编程语言 > Java开发

java Scanner类读取控制台输入内容再输出乱码

2017-07-12 14:37 316 查看
今天重新学习了以下java的基础,发现在用Scanner类读取控制台输入内容的时候出现了乱码。

现在贴出乱码代码:

import java.util.Scanner;

public class C {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

String s = scanner.next();

System.out.println(s);

}

}

我输入的你好,结果打印出了下面的内容,经过百度排查,发现原来是因为编码的原因,当然出现乱码,肯定是因为编码,哈哈。

实际上,是我的项目设置的是utf-8编码,而键盘输入的默认是gbk编码(在下小白,以前都不知道这个。。。);

下面是改善的代码:

import java.io.UnsupportedEncodingException;

import java.util.Scanner;

public class C {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

String s = "";

try {

s = new String(scanner.next().getBytes("gbk"),"utf-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

System.out.println(s);

}

}

菜鸟的第一篇博客,写下来勉励一下自己,毕竟学到了点新东西。哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐