
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第2章 第一个Java程序:HelloWorld
2.4.4 字符编码设置
通过上面的学习,我们已经可以使用Notepad++软件进行Java程序的开发了。
下面请大家使用Notepad++软件再建一个Java源文件(如AtGuiGu.java),并且编写如下所示的Java代码后,再编译和运行。

编译运行结果如图2-53所示。

图2-53 编译运行结果
可以发现结果中出现了乱码,没有出现“你好”。原因是Notepad++软件默认的编码是UTF-8,而当前中文版Windows 10操作系统默认的编码是GBK,错误结果是编码不一致导致的(关于编码问题,大家可以看3.4.3节)。当前命令行编码GBK如图2-54所示。AtGuiGU.java源文件修改之前的UTF-8编码如图2-55所示。

图2-54 当前命令行编码GBK

图2-55 AtGuiGU.java源文件修改之前的UTF-8编码
那么,应怎么解决编码不一致的问题呢?
对于当前已经编写好的Java源文件(如AtGuiGu.java),如果要修改编码,则选择“编码”→“转为ANSI编码”,AtGuiGu.java源文件修改后的ANSI编码如图2-56所示。修改完编码后,要保存,并且重新编译和运行,再次编译和运行的效果如图2-57所示。

图2-56 AtGuiGu.java源文件修改后的ANSI编码

图2-57 再次编译和运行的效果
为了使以后新建的Java源文件的默认编码都是ANSI编码,可以通过“菜单设置”→“首选项”→“新建”→“编码”→“ANSI”进行设置。修改后新建文档的默认编码为ANSI编码,如图2-58所示。

图2-58 修改后新建文档的默认编码为ANSI编码