1.问题简述
编码成UTF-8时,没具体选择正确的编码的格式,即选成了带BOM的UTF-9文件;已经文件开头会多3个char,即javac编译时报警提示的/65279。
听说:一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识;而且在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会出现“非法字符:/65279”的错误。
用Eclipse进行编译一般没有问题,原因在于Eclipse使用的是自己的JDT,而非javac。但最近我用myeclipse编译时出现问题。很可能是maven配置的编译是javac的。
2.出现这种情况时,可以通过如下方法解决:
1)用其他较强大的文本编辑器重新编码文件并保存。我是用notepad++的,看网上的资源说一般用UE、Editplus等文本编辑器重新保存文件为不带BOM的UTF-8格式也可以。
2) 可使用eclipse自带的编译器进行编译,如下例
<!--在ant中添加property,使用eclipse jdt compiler编译-->
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
相关jar包,在eclipse安装文件plugins目录下:org.eclipse.jdt.core_xxx.jar,xxx为版本号
但我自己没用过这方法。