eclipse之所以會出現亂碼問題是因為eclipse編輯器選擇的編碼規則是可變的。一般預設都是UTF-8或者GBK,當從外部匯入的一個工程時,如果該工程的編碼方式與eclipse中設定的編碼方式不同,就會產生中文的亂碼問題,這其中還有幾種情況。
如果匯入的整個工程的編碼方式與eclipse的編碼方式有衝突,那麼這個工程裡所有的中文 都是亂碼;如果所有工程的編碼方式與eclipse工作空間的編碼方式有衝突,那麼所有的工程裡的中文都有可能是亂碼。對於eclipse工作空間 ,eclipse會把你改的設定儲存在工作空間的設定檔案中,對於單個工程的編碼方式進行修改,那麼eclipse會把編碼方式儲存在該工程 的.setting檔案包裡。
所以,要避免中文亂碼問題有兩個原則:
(1)避免頻繁更換工作空間,最好項目從一開始就在一個工作空間中進行,並且最好設定工作空間的編碼方式為你平時最經常使用的或者是公司規定的項目編碼方式,這樣工程就會使用工作空間的編碼方式,避免出現編碼不一致的情形;
(2)相同類型的檔案盡量使用相同的編碼方式,可以保證相同類型的檔案都能使用一致的編碼設定;
解決中文亂碼問題可以有以下設定方案:
(1)修改工作空間的編碼方式:
Window->Preferences->General->Workspace->Text file Encoding
在Others裡選擇需要的編碼方式(如沒有則直接輸入),然後儲存。
(2)修改單個工程的編碼方式:
右擊工程,在彈出的菜單中選擇最後一項“Properties”
在開啟的新視窗左邊的菜單樹中選擇 Info(即第一個),然後在右面找到 Text file encoding ,選擇 “other”,在下拉框中選擇需要的編碼方式(如沒有則直接輸入)。
(3)修改一類檔案的編碼方式:
假設要將js檔案編碼方式設為UTF-8,則應該
Window->General->Content Types
在Content Types中選擇JavaScript Source File,在File associations欄中選中*.js,然後在Default Encoding欄中輸入UTF-8,單擊Update,儲存即可。
(4)修改單個檔案的編碼方式:右擊要修改的檔案,在彈出的菜單中選擇最後一項 “Properties”,在開啟的新視窗左邊的菜單樹中選擇 Info(即第一個),然後在右面找到 Text file encoding ,選擇 “other”,在下拉框中選擇需要的編碼方式(如沒有則直接輸入)。與修改工程編碼方式的方法類似。
ps:在項目過程中遇到的另外一個亂碼問題是因為作業系統的字型檔問題,在某些情況下,eclipse所使用的系統中文字型如果被破壞的話,也會導致中文無法顯示的問題。所以,如果在上述設定都無法解決問題的時候,應該要考慮一下系統字型檔的問題。