java:解决报错非法字符: ‘\ufeff‘以及什么是BOM

背景

运行 JAVA 项目后,报错提示:非法字符: '\ufeff',如图:
在这里插入图片描述
但是我在这个报错的文件中并没有搜到这个字符,那到底是什么原因

什么是BOM

BOM(Byte Order Mark),隐藏字符,字节顺序标记,出现在文本文件头部,用于标识文件是采用哪种格式的编码。

类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP、JAVA等来说,就会识别为非法字符。

Linux下的编辑器应该都没有这个问题。WINDOWS下,请勿使用记事本等编辑器。

解决

选中报错的文件,在 IDEA 右下角点击 UTF-8,再点击 Remove BOM,就可以啦
在这里插入图片描述
全局设置的时候也要禁用掉

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lvan的前端笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值