IDEA 编译gong'chenError:(1, 1) 错误: 非法字符: '\ufeff'

使用IDEA 编译android 工程的时候报错

为了弘扬与时俱进的精神,也是跟随google 老大android 开发的规范现在把工程从eclipse 上切换到IDEA 或者Android studio 上的时候遇到这个错误

错误: 非法字符: '\ufeff'Error:(1, 10) 
错误: 需要class, interface或enum

在网上搜索了下:造成这个问题的原因是:原因是Java文件编码格式不对, 比如可能是你之前这个文件是用GBK写的,后来复制到utf-8环境里编译,而文件里有些是隐藏的字符,很难找出来的。还有说法是:Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现” 非法字符: '\ufeff' “之类的错误。

IDEA 编译gong'chenError:(1, 1) 错误: 非法字符: '\ufeff'

首先找到你报错的那个类,然后右击,选择打开方式,可以选择Notepad++,或者EdItPlus,或者别的编辑器,只要可以转换编码格式就可以了,我安装的是notePad++。

如图:

IDEA 编译gong'chenError:(1, 1) 错误: 非法字符: '\ufeff'

二. UTF-8与UTF-8无BOM

BOM:Byte Order Mark.
BOM是用来标记编码的大小端的,对UTF-8编码并没有用处。但是因为在Windows中是使用BOM来标记的文件的编码方式的,所以文件在Windows中使用记事本编辑过并保存为了UTF-8之后,文件格式就会变成UTF-8有BOM的编码格式,即在文件的开头有这样的三个字节:EF、BB、BF。在应用中,大多数时候并不支持这种格式,就比如这次遇到的问题,我们就要将文件重新编辑保存为UTF-8无BOM格式。



参考:

https://www.cnblogs.com/diql/p/5782120.html
http://blog.csdn.net/qq_25497773/article/details/65444978?_t=t