cmd命令⾏下javac编译⽆法识别中⽂
使⽤命令⾏javac命令编译java⽂件,
提⽰错误:编码GBK的不可映射字符。
或者是”舵暟“的奇怪的⽂字
这是因为在编译的时候,如果我们没有⽤-encoding参数指定我们的JAVA源程序的编码格式,则会获得我们操作系统默认采⽤的编码格式。
JDK根据操作系统的ding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),把源程序从默认编码格式转化为JDK内部默认的UNICODE格式放⼊内存中。然后把转换后的unicode格式的⽂件进⾏编译成.class类⽂件,此时.class⽂件是UNICODE编码的,它暂放在内存中,最后JDK将此以UNICODE编码的编译后的class⽂件保存到我们的操作系统中形成我们见到的.class⽂件。
对我们来说,我们最终获得的.class⽂件是内容以UNICODE编码格式保存的类⽂件,它内部包含我们源程序中的中⽂字符串,只不过此时它⼰经由ding格式转化为UNICODE格式了。当我们不加设置就编译时,相当于使⽤了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
unicode文件格式解决办法:使⽤-encoding参数指明编码⽅式:javac -encoding UTF-8 XX.java

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。