java中文乱码原因和解释-linux环境下
java内存统一编码unicode
javac:
默认情况下,读取.java文件,默认按照linux的locale环境下的编码类型对文件进行读取
如linux环境如果是gbk,那么便会以gbk编码格式进行读取
因此如果出现javac的编码问题,那么便是文件的编码格式(file可以查看)和系统的locale编码格式不对
然后javac会将文件编码转换为unicode编码,然后最终生成unicode格式.class文件
java:
读取文件的时候,会默认按照linux的locale环境对文件进行读取,并转换为unicode编码格式(一般为utf-8)
因此如果当前linux的locale环境和文件的编码格式不对的话,便会导致运行的出现中文乱码的格式