使用sublime编写java时发现了一个问题,当我使用 Scanner输入一个中文字符串时,再把输入打印出来发现是一串乱码
import java.util.Scanner;
public class SeqSearch03{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("输入");
String findName = myScanner.next();
System.out.println(findName);
}
}
输入
小明
输出:С??
我以为是编码出现问题把编码设置为GBK但并没有解决
希望输入和输出有相等的结果
我初学java才疏学浅希望可以得到帮助,非常感谢帮我解答。
修改代码,使用GKB字符集
Scanner myScanner = new Scanner(System.in, "GBK");
确保CMD控制台是GBK编码,打开cmd窗口后,在窗口顶部右击选择属性,选中选项后会看到默认编码为gbk
jvm的编码方式和sublime编辑器编码方式不一致而导致乱码。将sublime编码方式设置为和jvm相同。
Scanner myScanner = new Scanner(System.in, "UTF-8");
可以这样处理试试,把Scanner的编码格式设置成utf-8的r
是编码问题
1、你的代码文件编码;
2、你的命令窗口的编码
这2个的编码要一致即可解决。
如遇到其他问题,欢迎交流。
一、左上角文件(file)→ 以....编码保存(save with encoding)→ 选择GBK或者GB18030编码
二、左上角文件(file)→ 保存(save)。
完成这两步就不会乱码了
编码问题.jvm的编码方式和sublime编辑器编码方式不一致
不知道你这个问题是否已经解决, 如果还没有解决的话: