解决idea中报错:Error:(1, 1) java: 非法字符: ‘\ufeff’
这是因为字符编码的问题。
在SpringBoot开发过程中,有事运行程序,会遇到了这样的报错:
Error:(1, 1) java: 非法字符: '\ufeff'
这是因为编码的问题,可以使用别的文本编辑器工具打开报错的文件,会发现

文件编码并不是简单的UTF-8,而是UTF-8 with BOM编码。
解决方法
步骤1. 修改文件编码
找一个文本编辑器,我使用的是sublime text3,打开后文件内容全选,剪切,修改编码方式

再把文件内容粘贴回来,保存。
步骤2. 修改idea编码方式
在idea中,settings–>File Encodings,按照图片修改设置

接下来就是重启idea

成功运行,问题解决。
接下来是科普时间
关于UTF-8 with BOM编码的介绍:
UTF-8 with BOM又叫UTF-8 签名,UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。当文本程序读取到以 EF BB BF开头的字节流时,就知道这是UTF-8编码了。
Windows就是使用BOM来标记文本文件的编码方式的。
但是!!UTF-8 with BOM编码的文件相比UTF-8编码的文件,会在文件开头多一个<U+FEFF>。多出的这一串字符在普通的文本编辑器是看不到的。
在Linux中可以使用less命令查看,其他方式可能看不到。

解决IDEA中Java编码错误
本文介绍了解决IDEA中出现的“Error:(1,1)java:非法字符:'ufeff'”错误的方法。该问题源于文件采用UTF-8withBOM而非标准UTF-8编码。文中提供了具体的步骤,包括如何修改文件编码及IDEA设置。
3264

被折叠的 条评论
为什么被折叠?



