idea 不报错_IDEA中提示非法字符,你不懂的UTF-8

本文介绍了在IDEA中遇到JavaWeb项目报错提示非法字符的解决方案。首先尝试修改javacompiler字符参数为-encoding UTF8,但问题未解决。接着发现可能是由于UTF-8 BOM导致的问题,通过Notepad++将文件转换为无BOM的UTF-8格式。最后,使用IDEA的Remove BOM功能去除项目中所有文件的BOM。此方法有效解决了报错问题。
摘要由CSDN通过智能技术生成

前些天用IDEA执行Java Web项目,提示非法字符,而且是一对一对的进行报错,由于涉及项目的保密,在这里之只能分享下排错的过程。
他报错会定位到某个java文件,在项目中看起来根本没什么问题,之后就是靠谱的答案就去试试看呀,下面罗列我的解决步骤。

1.修改java compiler字符参数
​需要增加-encoding UTF8参数,毕竟项目编译的时候也是可以有字符编码的错误。

f388d81375950d563a9598cb737cecba.png
效果图


​经过测试,这种方法并没有把问题的根本解决掉。

2.UTF-8的BOM与NO BOM


BOM即byte order mark,具体含义可百度百科或维基百科,UTF-8文件中放置BOM主要是微软的习惯,但是放在别的系统上会出现问题。
不含BOM的UTF-8才是标准形式,UTF-8不需要BOM,而idea中默认也是采用NO BOM格式的,具体可以在设置-file encoding 查看,及效果图如下。
带BOM的UTF-8文件的开头会有U+FEFF,所以我新建的空文件会有3字节的大小。

4fe0ee4b466cf3263fb6c542518dc734.png
file encoding


好多有介绍需要新建文本-复制-粘贴-替换源文件,
实践过后,我总结的用notepad++工具打开文本,如果右下角显示UTF-8 BOM,选择编码-选用UTF-8编码即可切换为NO BOM。如下图。

8c85868f40fa674b4534246f1ec34af3.png
更改为UTF-8 NO BOM

3,使用idea进行切换BOM
亲测在2018-2版的idea,点击项目名称右键,选择 Remove BOM 即可将项目中UTF-8 BOM的文件去为NO BOM。
如果该文章帮到了正在学习或工作中的你,别忘了点个喜欢,欢迎和我进行技术上的交流。

88e39dc32fa35293ab08999e712c6029.png
孝客之乡
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值