解决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命令查看,其他方式可能看不到。
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐