Java编译报错:编码GBK的不可映射字符
今天使用windows命令行的echo指令创建了一个HelloWorld.java源文件,在编译为字节码文件时报如下错误:
原因及解决方法:javac编译源文件时,要对源文件进行解码,默认使用操作系统的字符编码进行解码。win11简体版使用的是GBK,所以要注意源文件在编码时是否使用了GBK。如果只有英文的话,源文件的编码方式只要兼容ASCII码即可。或者也可以通过javac的命令参数改变解码时的字符编码。
推荐阅读:https://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html