一个Java文件从编码到展现在终端上需要经过以下几个过程
Java源代码 -> Java字节码 -> 虚拟机 -> 操作系统 -> 显示设备。
在上面的过程中,每一步我们都需要正确的处理,才能在终端显示正确的信息
1. Java源代码 -> Java字节码:该阶段就是调用javac进行编译,默认采用的是系统字符集。这里我们可以设置其编码方式。若是直接用javac命令的话,可以加上参数 -encoding utf-8.若是通过IDE的话如ECLIPSE,那么在 perferences --> general --> editors --> text editors --> spelling 中选择自己需要的编码方式
2. Java字节码 -> 虚拟机 -> 操作系统:该阶段的编码方式是由JRE或JDK来决定的,且必须要求JRE或JDK支持多语言版。这阶段若是不指定虚拟机启动使用什么类型语言,默认的还是取系统语言。可以通过指定参数 -Dfile.encoding=utf-8来修改启动字符集。
3. 操作系统 -> 显示设备:这个阶段就是查看操作系统是否支持你所指定的字符集,若是支持就是按指定字符集展现信息。
通过以上就可以很清晰的检查乱码问题所在
Java源代码 -> Java字节码 -> 虚拟机 -> 操作系统 -> 显示设备。
在上面的过程中,每一步我们都需要正确的处理,才能在终端显示正确的信息
1. Java源代码 -> Java字节码:该阶段就是调用javac进行编译,默认采用的是系统字符集。这里我们可以设置其编码方式。若是直接用javac命令的话,可以加上参数 -encoding utf-8.若是通过IDE的话如ECLIPSE,那么在 perferences --> general --> editors --> text editors --> spelling 中选择自己需要的编码方式
2. Java字节码 -> 虚拟机 -> 操作系统:该阶段的编码方式是由JRE或JDK来决定的,且必须要求JRE或JDK支持多语言版。这阶段若是不指定虚拟机启动使用什么类型语言,默认的还是取系统语言。可以通过指定参数 -Dfile.encoding=utf-8来修改启动字符集。
3. 操作系统 -> 显示设备:这个阶段就是查看操作系统是否支持你所指定的字符集,若是支持就是按指定字符集展现信息。
通过以上就可以很清晰的检查乱码问题所在