Error:(1, 10) java: 需要class, interface或enum
https://blog.csdn.net/zf18234031156/article/details/103047649
反復做這一步,30多個文件一個一個弄,有亂碼用txt打開,黏貼覆蓋,?
?
目錄
1.前言
2.原因(UTF-8+BOM造成)
3.如何解決
3.11使用Notepad++,選擇“格式--以UTF-8無BOM格式編碼”即可。或者用IDEA轉換,先轉換為GBK,再轉回UTF-8
3.2為了防止其他亂碼情況請繼續修改下項目編碼把項目編碼 改成 GBK 然后 再改回 UTF-8
4.BOM相關了解
1.前言
之前一直在STS(eclipse的包裝版)中進行開發,今天想用ideaiu進行開發,啟動項目后報了Error:(1, 10) java: 需要class, interface或enum的問題。
2.原因(UTF-8+BOM造成)
原因還是編碼的問題,eclipse會智能的UTF-8+BOM文件轉換為普通的UTF-8文件,但是在ideaiu中是沒有這種智能轉換的。
什么是BOM(Byte Order Mark,就是字節序標記)
在UCS 編碼中有一個叫做”ZERO WIDTH NO-BREAK SPACE“(零寬度無間距空間)的字符,它的編碼是FEFF。而FFFE在UCS中是不存在的字符,所以不應該出現在實際傳輸中。
UCS規范建議我們在傳輸字節流前,先傳輸 字符”ZERO WIDTH NO-BREAK SPACE“。
如果接收者收到FEFF,就表明這個字節流是大字節序的;如果收到FFFE,就表明這個字節流是小字節序的。因此字符”ZERO WIDTH NO-BREAK SPACE“又被稱作BOM
UTF-8不需要BOM來表明字節順序,但可以用BOM來表明編碼方式。字符”ZERO WIDTH NO-BREAK SPACE“的UTF-8編碼是EF BB BF。所以如果接收者收到以EF BB BF開頭的字節流,就知道這是UTF-8編碼了。
意思就是UTF-8文件有兩種一種是前面帶有字符ZERO WIDTH NO-BREAK SPACE(BOM)的UTF-8文件,一種是前面不帶BOM的UTF-8文件。雖然都是UTF-8但還是會出現編碼問題。
3.如何解決
3.11使用Notepad++,選擇“格式--以UTF-8無BOM格式編碼”即可。或者用IDEA轉換,先轉換為GBK,再轉回UTF-8
3.2為了防止其他亂碼情況請繼續修改下項目編碼把項目編碼 改成 GBK 然后 再改回 UTF-8
File - Settings - EDItor - File Encodings
重新編譯后 整個項目的亂碼問題就解決了
4.BOM相關了解
https://blog.csdn.net/weixin_33656548/article/details/79724045
https://www.cnblogs.com/codingmengmeng/p/11028744.html
https://blog.csdn.net/LegendaryHsl/article/details/78794121
————————————————
版權聲明:本文為CSDN博主「zf18234031156」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zf18234031156/article/details/103047649
總結
以上是生活随笔為你收集整理的Error:(1, 10) java: 需要class, interface或enum的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用来剪辑视频的电脑需要什么配置?
- 下一篇: IDEA导入Eclipse项目