没看出你第二个试验是什么意思。。 只要源文件和编译时指定的编码一致,就能够正确保留字符 更深入的理解我也不是很清除咯
javac -encoding UTF-8 Hello.java 指的是Hello.java这个源文件的编码是utf-8,这样编译器才能正确的知道源文件的编码专为class字节码的Unicode System.getProperty("file.encoding") 是获取当前系统的默认编码,他们没有什么关系,硬要说有关系的话,就是 当你javac Hello.java 不指定编码时,默认会采用系统默认编码作为源文件编码,如果他们不一致,显然后面运行java程序则乱码 系统默认的应该是GBK,你这应该是在eclipse或者其他IDE里面运行的结果吧,他们会改变运行环境的编码
50,808
社区成员
85,704
社区内容
加载中
试试用AI创作助手写篇文章吧