在C盤建的一個intelij idea專案,都是些很短的類,和用來測驗的一些測驗類。C盤已經可以跑起來了,復制到D盤準備統一位置保存就出現很多的unmappable character (0x82) for encoding GBK,請問這是什么原理呀?


最早在C盤寫代碼,運行的時候,出現過亂碼,后來去改intelij idea的設定中的file coding,.java的類檔案那里右鍵的file coding,還有一個類控制臺報錯的時候跟著網上的辦法好像改了Compiler關于字符集的設定,之前的中文注釋突然變成了?,再也沒變回來。但是最后C盤那個專案可以運行了,也沒地方產生不理解的亂碼了。
但是,復制到D盤后,就出現unmappable character (0x82) for encoding GBK。我這時的intelij idea,編碼設定Global Encoding,Project Encoding, Default encoding for properties files都是UTF-8,有一個類檔案,Demo9_2.java是GBK我不敢改,因為在C盤那里的專案中我看也是GBK。我把提示unmappable character的檔案都復制到notepad++并保存成UTF-8,然后在用全選,復制字符回intelij idea源檔案,依舊unmappable character for encoding GBK,之后我直接把保存了的notepad++檔案設成同名的.java,然后復制回專案目錄,unmappable character for encoding GBK不再報錯,但是提示exception in thread main java.lang.ClassNotFoundException的錯誤。昨晚關機,今天啟動后,又不報exception in thread main java.lang.ClassNotFoundException,而是繼續報unmappable character for encoding GBK了。



我的想法是亂碼的原因可能是intelij idea沒能按照檔案真正的字符集編碼格式去讀取檔案,但是不明白比如在專案中讀取檔案,或者把專案復制到另外一個地方,字符集的關系是怎么的。
uj5u.com熱心網友回復:
復制專案到本機另外的位置也會導致引入的jar包例外嗎?.jar包的位置沒變呀,而且同樣位置之前一起參考的mina core沒出現例外,再加了一次slf4j api和simple又正常了

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/120099.html
標籤:Java相關
