如果要使插件開發應用能有更好的國際化支持,能夠最大程度的支持中文輸出,則最好讓Java文件使用UTF-8編碼。
然而,Eclipse工作空間(workspace)的缺省字符編碼是操作系統缺省的編碼,簡體中文操作系統 (Windows XP、Windows 2000簡體中文)的缺省編碼是GB18030,Windows7/8/10的缺省編碼是GBK,在此工作空間中建立的工程編碼是GB18030或者GBK,工程中建立的java文件也是GB18030或者GBK。
如果要使新建立工程、java文件直接是UTF-8則需要做以下工作:
1、Windows --> Preferences 打開"首選項"對話框,左側導航樹,導航到General --> Workspace,右側 Text file encoding,選擇 Other,改變為 UTF-8,以后新建立工程其屬性對話框中的 Text file encoding 即為 UTF-8 。
2、Windows --> Preferences. 打開"首選項"對話框,左側導航樹,導航到General --> Content Types,右側Context Types樹,點開 Text 中每一個子項,並將其編碼設置為"UTF-8",再點 update。
點擊修改的子項有:Gitignore File、Java Source File、Patch File、Patch or Diff File、Runtime log files、WikiText,如下圖所示:
其他java應用開發相關的文件如:Java Properties File、XML等已經由Eclipse缺省指定,分別為 ISO8859-1 、UTF-8 ,如開發中確需改變編碼格式則可以在此指定。
3、Window --> Preferences --> Web --> JSP Files 面板選擇 ISO 10646/Unicode(UTF-8) 特別注意:ecplise的標准版本沒有沒有Web選項,ecplise的企業版本有Web選項。
所以對於ecplise的標准版本來說,執行前兩步就可以了;對於ecplise的企業版本需要執行三步。
4、經過上述三步,新建java文件即為UTF-8編碼,Eclipse編譯、運行、調試都沒問題,但是做RCP應用的Product輸出時、或者插件輸出時,則總是出錯,要么不能編譯通過(輸出時要重新compile)、要么輸出的插件運行時中文顯示亂碼。
此時需要在RCP應用、或插件Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。讓輸出時編譯知道java源文件是UTF-8編碼。
這個設置需要保證所有的java源文件時UTF-8編碼格式,如果不全是,可以參考 Eclipse幫助中(Plug-in Development Environment Guide --> Reference --> Feature and Plug-in Build configuration),建議全部java源文件是UTF-8編碼。
如果插件開發、RCP應用開發原來基於其他編碼,如GB18030,想轉換為UTF-8,則首先,做以上工作;然后通過查找編碼轉換工具,如基於iconv的批量轉換工具,將原編碼轉換為UTF-8編碼,注意只轉換java源文件,其他類型文件可能已經是比較合適的編碼了;將原工程屬性中的Text file encoding,從原編碼改為UTF-8即可。
ecplise的標准版本
ecplise的企業版