Notepad++关于不同编码格式(UTF-8和GBK)导致Dos命令Javac编译报错的解决方法

问题背景

初学Java时我们会用笔记本(笔者是Notepad++)编写Hello World进行输出,但是在做这项工作的时候有时会遇到一些小麻烦。
本文讲解关于编译时编码格式不相容的一个小案例。

首先使用NotePad++配合Cmd命令行进行编码和执行:

  1. 编码
//这里是Java快速入门的代码……
//相关说明:
//1、public class Hello——>表示Hello是一个类,一个Public的共有类。
//2、Hello{}表示一个类的开始和结束。
//3、public static void main(String[] args)——>表示mian是一个主方法,即我们程序的入口。
//4、mina(){}——>表示方法的开始和结束。
//5、System.out.println("Hello,World!");——>表示输出"Hello,World!"到屏幕/控制台。
//6、";"——>表示语句的结束。
public class Hello{
    
    
	//mian代表这里是一个主方法。
	public static void main(String[] args){
    
    
		System.out.println("Hello,World!");
	}
	
}
  1. 编译:

这里使用Dos命令行进行编译的时候,出现了一个编码格式不相容的Bug:

请添加图片描述

出错原因:

此处的Hello.java编码格式为UTF-8:

请添加图片描述

而Cmd命令行中的编码格式为GBK格式:

请添加图片描述

两者不相容。

解决方法:

  1. )使用Notepad++中自带的修改编码格式的功能(可能存在无效的情况):

请添加图片描述

具体步骤:

(1.)修改源文件为ANSI:

请添加图片描述

(2.) 修改为“编码字符集”中的“中文”——>“GB2312(简体中文)

请添加图片描述

(3.) 确认修改

请添加图片描述

(4.) 重新编译,可以通过:

请添加图片描述

  1. 使用Javac encoding

使用Javac encoding UTF-8强制转换成对应的编码格式:

使用强制转换命令行:Javac -enconding XXX(格式) XXX.java(文件名)

请添加图片描述

路漫漫其修远兮,愿君上下而求索。

《参考文献》

《【零基础 快速学Java】韩顺平 零基础30天学会Java》

《CMD运行JAVA出现编码GBK的不可映射字符处理方法》

猜你喜欢

转载自blog.csdn.net/weixin_44199123/article/details/122492376