问题背景
初学Java时我们会用笔记本(笔者是Notepad++)编写Hello World进行输出,但是在做这项工作的时候有时会遇到一些小麻烦。
本文讲解关于编译时编码格式不相容的一个小案例。
首先使用NotePad++配合Cmd命令行进行编码和执行:
- 编码
//这里是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!");
}
}
- 编译:
这里使用Dos命令行进行编译的时候,出现了一个编码格式不相容的Bug:

出错原因:
此处的Hello.java编码格式为UTF-8:

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

两者不相容。
解决方法:
- )使用Notepad++中自带的修改编码格式的功能(可能存在无效的情况):

具体步骤:
(1.)修改源文件为ANSI:

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

(3.) 确认修改

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

- 使用Javac encoding
使用Javac encoding UTF-8强制转换成对应的编码格式:
使用强制转换命令行:Javac -enconding XXX(格式) XXX.java(文件名)

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

本文介绍使用Notepad++编写Java程序时遇到的编码格式不兼容问题及其解决办法,主要涉及UTF-8与GBK编码间的冲突。
1万+






