日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

idea 中文亂碼 解決方案 UTF-8 GBK【重點】

 一本正經(jīng)地胡鬧 2019-08-13

環(huán)境:win10,idea13.1.1

我是個idea的忠實用戶,新公司的項目都是用eclipse做的,通過svn拉下代碼后發(fā)現(xiàn),注釋的內容里,中文內容都是亂碼。問過項目負責人,說可能是GBK編碼。

但是,我通過idea的setting設置了編碼,試了5種編碼都沒用,中文內容還是亂碼。最后還是自己試出來解決方案。

詳細的原因請參考最后的講解。

亂碼示例圖

  下面來介紹解決方法

  第一步是點擊右下角,如圖所示的位置,然后選擇GBK(由于我的項目之前是GBK編碼,所以在這里我要是選擇的GBK)。另外提醒一點,如果你的idea右下角沒有這個按鈕,請在你的編碼界面中隨意右鍵,然后選擇“File Encoding”,效果一樣。 


 

  第二步會出現(xiàn)如下提示,這里很重要,不要選錯,先選擇“Reload”,這里請嚴格按照我說的來,文章后面會告訴你如果選錯會有什么后果

 

接著你就會看到亂碼已經(jīng)變成中文了,但是這對我還沒結束,由于我將頁面改成了GBK編碼,但這并不是我想要的,我想要的是utf8的編碼格式。

 
 

  第三步,就是再次點擊這個地方,然后選擇UTF-8格式

 

  最后一步就是選擇Convert,這就結束了

 
 

相信有些朋友已經(jīng)有點頭緒了。這個“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去解碼這個文件發(fā)現(xiàn)還是亂碼。

原因是由于IDE用GBK讀取UTF8文件時顯示的是亂碼,文件并沒有亂碼,而是IDE讀取出來的文件由于encoding解碼不對才顯示的亂碼。那么你這個時候使用Convert”不過是將IDE讀取的內容轉換成了UTF8,而并非是將文件內容轉換成UTF8。就這么一個微小的區(qū)別,但結果卻是完全不可控制的。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多