SiteMap

2013年4月23日火曜日

Eclipse - 設定Eclipse的編碼設定為UTF-8

我使用的兩台電腦一台是灌Jwin另外一台是CWin, 當要在兩台之間編寫程式碼就會遇到亂瑪的問題, JWin用的是MS932, CWin用的是MS950, 乾脆通通設定成UTF-8

這裡有幾種方法可以使用 (此處的Eclipse版本4.2.2)


針對個別專案設定

01.對已經建立好的專案(Project)按下右鍵
  properties(Alt+Enter) → Resource →
  Text file encoding裡的Other:MS932 → 將MS932改成UTF-8
  (MS932是JWin, CWin則是MS950)

針對Workspace設定

02.Window → Preference → General →
  Workspace裡的Text file encoding → 選擇Other並將選項改為UTF-8

全域編碼設定(Global encoding setting)

03.打開與eclipse.exe同資料夾的eclipse.ini,往裡面添加一行
  -Dfile.encoding=UTF-8
  存檔, 然後重開eclipse
 
設置完畢之後可以利用sysout印出System.getProperty("file.encoding")
得知現在的檔案編碼, 如下面
 System.out.println(System.getProperty("file.encoding"));
如果是 UTF-8的話即成功.(當然你要在main函數裏頭放入這行程式碼 =.=)

from
http://www.martinahrer.at/2007/06/03/eclipse-encoding-settings/
http://www.eclipsezone.com/eclipse/forums/t93442.rhtml
http://www.eclipse.org/forums/index.php?t=msg&th=29511/

小知識

關於file.encoding, sysout file.encoding可得到檔案編碼方式,
如果我們在本類(UTF-8)別去呼叫其它類別(BIG5)印出file.encoding會如何呢?
class test {//UTF8
  main{
    sysout file.encoding;
    new test2.printfileencoding();
  }
}
class test2{//big5 (MS950)
  void printfileencoding(){
    sysout file.encoding;

  }
}
答案是兩個 UTF-8

由此可以說明 file.encoding 在當前運行程式之中只有一個, 且其值依據於
入口函數所在的檔案的編碼

0 件のコメント: