java编译错误:编码GBK不可映射
在java程序编译的时候很容易出现这种错误:编码GBK不可映射 主要原因是jdk编译的时候首先选择的是系统默认的编码方式;若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式;
具体的原理我就不说了先上图(看向错误的形式):
这个主要的原因是我这个程序输出了中文:
解决方式是:javac这个明后面加上一个参数:-encoding UTF-8
完整的格式是:javac -encoding UTF-8 year.java
恩这个就基本上可以运行了!可是我在编译的时候发现了一个小问题就是在用Notepad++的时候发现编译的时候会出现错误:非法字符:'\ufeff'
这个我就很费解了,然后查了一下原来原因是因为我用Notepad++编辑的时候不小心吧utf-8格式的改成utf-8无BOM格式编码的格式!只要再改成UTF-8格式就行了;
步骤是:格式-->专为UTF-8编码格式 好了!今天有学了一招!记录一下!