日记 - idea中的中文注释出现乱码的解决方案
環境:win10,idea13.1.1
?
我是個idea的忠實用戶,新公司的項目都是用eclipse做的,通過svn拉下代碼后發現,注釋的內容里,中文內容都是亂碼。問過項目負責人,說可能是GBK編碼。
但是,我通過idea的setting設置了編碼,試了5種編碼都沒用,中文內容還是亂碼。最后還是自己試出來解決方案。
詳細的原因請參考最后的講解。
?
亂碼示例圖
?
?
? 下面來介紹解決方法
?
? 第一步是點擊右下角,如圖所示的位置,然后選擇GBK(由于我的項目之前是GBK編碼,所以在這里我要是選擇的GBK)。另外提醒一點,如果你的idea右下角沒有這個按鈕,請在你的編碼界面中隨意右鍵,然后選擇“File Encoding”,效果一樣。?
?
? 第二步會出現如下提示,這里很重要,不要選錯,先選擇“Reload”,這里請嚴格按照我說的來,文章后面會告訴你如果選錯會有什么后果
?
接著你就會看到亂碼已經變成中文了,但是這對我還沒結束,由于我將頁面改成了GBK編碼,但這并不是我想要的,我想要的是utf8的編碼格式。
?
?
? 第三步,就是再次點擊這個地方,然后選擇UTF-8格式
?
?
? 最后一步就是選擇Convert,這就結束了
?
?
相信有些朋友已經有點頭緒了。這個“Reload”選擇后不會改變文件和內容的編碼格式,而是將IDE本身的解碼格式由我原先的UTF-8換成了GBK,由GBK的解碼格式解GBK的文件就不會再看到亂碼。而“Convert”是將GBK格式的文件內容轉換成了UTF-8,同時將IDE的解碼格式也換成UTF-8。
?
所以之前說的,如果你第一次選擇了“Convert”那么就會由原來的亂碼弄成另一種亂碼,反正我是沒弄回來過。好在我是在git的branch上做的實驗,我的源碼文件還保留著,所以沒有問題。
?
在以上的基礎上,我猜測idea對java文件的編輯,應該是讀取文件內容,并以IDE本身指定的encoding來進行解讀。
舉例,如果IDE的encoding為GBK,而java文件是UTF8那么IDE讀取文件的時候就會顯示亂碼,如果這個時候使用上文所說的“Convert”來講亂碼轉換成UTF8文件。
重點來了,這個時候文件本身是UTF8格式編碼,轉成UTF8格式應該是不會有問題的。但結果是,你由GBKencoding換成用UTF8的encoding去解碼這個文件發現還是亂碼。
原因是由于IDE用GBK讀取UTF8文件時顯示的是亂碼,文件并沒有亂碼,而是IDE讀取出來的文件由于encoding解碼不對才顯示的亂碼。那么你這個時候使用“Convert”不過是將IDE讀取的內容轉換成了UTF8,而并非是將文件內容轉換成UTF8。就這么一個微小的區別,但結果卻是完全不可控制的。
?
?
?
總結
以上是生活随笔為你收集整理的日记 - idea中的中文注释出现乱码的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 横向菜单滚动定位_使用vue组件
- 下一篇: Day10:html和css