关于UTF-8的BOM标识以及非法字符65279错误的一些记录

关于UTF-8的BOM标识和非法字符\65279的错误,已经遇到过好几次了,在这里记录一下。关于UTF-8带BOM和UTF-8不带BOM的区别,网上有很多解释。我遇到的最多的就是文件在Windows上被别人修改后,在我的电脑上会出错(我一直使用linux和macos),一般都是导入项目的时候,进行编译就会有问题。

IDEA导入项目出现\65279非法字符

这个问题也是由于带BOM的UTF-8格式引起的,至少我遇到都是这样,一般在linux上和macos上导入项目会发生,可能是由于在windows上用一些软件编辑过文件导致的。解决办法也很简单,下面就说一下解决办法。

比如说我将一个项目导入到idea发现报错了,可以使用命令行,首先进入src目录的同级目录:

  1. 输入:vi
  2. 输入::args ./src/** 这里的**表示循环src下的所有文件夹
  3. 输入::ar 这一步可选,目的是查看当前添加了哪些目标文件
  4. 输入::argdo set nobomb | update! 这句意思是对args列表中的文件分别执行 set nobomb 然后强制保存

以上就是步骤,这样就可以了。

UTF-8中BOM标志导致项目读取配置文件为空

最近公司部署项目到刀片服务器上时候,发现项目可以正常运行,读取配置文件也可以在指定位置找到配置文件,但是就是读取配置文件内容的时候,一直是null。若干人各种调试无果。我想应该是配置文件被人在windows上编辑过或者windows上新建的文本文件,然后放进服务器上的。于是就将服务器配置文件拿下来和我本地的文件对比下,果然是由于UTF-8带有BOM的原因。

重新在服务器上新建配置文件,把内容重新复制进去,完成!

一般properties和xml文件可能会遇到这个问题。

坚持原创技术分享,您的支持将鼓励我继续创作!
Fork me on GitHub