问题背景
初学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(文件名)
路漫漫其修远兮,愿君上下而求索。