用CMD运行时Java,出现乱码的解决办法
———————————————————————————————————————
很多Java的初学者,第一次都会用TXT文本文档进行我们Hello Java程序的编写。
方法如下:
- 打开记事本,输入以下代码
class HelloJava{
public static void main(String[] args){
System.out.println("欢迎回到Java的世界!");
}
}
- 将TXT文本文档另存为HelloJava.java
此时我们需要将保存的编码格式修改为:ANSI - 运行CMD命令指示符,分别先后运行以下代码:
javac HelloJava.java
java HelloJava
正确的运行结果:
乱码的运行结果:
为什么会出现乱码的编译结果呢?
因为有的初学者在另存为时没有修改XXXX.java文件的编码格式,导致电脑与其不是同一本编码字典。
网络上解决此问题的方法有三种,此处进行了汇总及测试结果的演示:
1、系统-环境变量-新建变量,
变量名称:JAVA_TOOL_OPTIONS
变量值:-Dfile.encoding=UTF-8
实践结果:无法解决乱码
2、编译时执行javac -encoding utf-8 xx.java
实践结果:无法解决乱码
3、Hello.txt
文件另存为Hello.java
时,将编码格式设置为ANSI
。
实践结果:乱码问题解决
问题原因:新建xx.java
时,默认编码格式为utf-8
,而编译时系统默认编码为ANSI