利用Eclipse編輯中文資源檔

來源:互聯網
上載者:User

利用Eclipse編輯中文資源檔

 

  如果經常使用Struts,並做過國際化操作的人來說,對於中文資源檔的處理應該不會感到陌生的。比如下面兩個檔案,一個是英文的,一個是中文的。對於英文的,一切照常;對於中文的,一般需要用JDK的native2ascii工具進行轉換。

application_en.properties

# Resources for the Hello sample application

hello.title=A first Struts program

hello.prompt.user=Please enter a UserName

hello.page.hello=Hello

hello.page.wellocome=Wellcome to Blog of Javamxj

application_zh_CN.properties

# Hello執行個體使用的資源檔

hello.title=第一個Struts應用

hello.prompt.user=請輸入使用者名稱

hello.page.hello=你好

hello.page.wellocome=歡迎來到Javamxj的Blog

  我當前使用的Eclipse版本是3.1M6,如果使用Eclipse編輯application_zh_CN.properties檔案,儲存後,關閉這個檔案,然後再次開啟它,會發現這個檔案中的中文字元都變成了????。

  為什麼會發生這種情況呢?在中文作業系統下,Eclipse中的Java類型檔案的編碼的預設設定是GBK,但是對Properties資源檔的編碼的預設設定是ISO-8859-1。所以編輯Java檔案中的中文不會出現問題,但編輯Properties資源檔中的中文會出現問題。

在3.1M6版本下,我們可以直接修改Properties資源檔的預設編碼了(Eclipse3.0版本好像不支援)。在Eclipse主介面下,開啟 Window ->Perferences ->General ->Editors ->Context Types

  修改為GBK後,再次開啟application_zh_CN.properties檔案,編輯後儲存,再開啟時,檔案中的中文字元可以正常顯示了。
  這還不行,還必須利用native2ascii(native2ascii-本地碼-至-ASCII 碼轉換器 )來轉換一下。  
  將含有本地編碼字元(既非 Latin1 又非 Unicode 字元)的檔案轉換為 ascii編碼字元的檔案。
  native2ascii命令的格式:native2ascii [-reverse] [-encoding] [inputfile [outputfile]]
  說明:
  Java 編譯器和其它 Java 工具只能處理含有 Latin-1 和/或 Unicode 編碼(\udddd 記號)字元的檔案。native2ascii 將含有其它字元編碼的檔案轉換成含 Latin-1 和/或 Unicode 編碼字元的檔案。
  若省略 outputfile,則使用標準輸出裝置輸出。此外,如果也省略 inputfile,則使用標準輸入裝置輸入。
  選項:
  -reverse
  執行相反的操作:將含 Latin-1 和/或 Unicode 編碼字元的檔案轉換成含本地編碼字元的檔案: -encoding encoding_name 。
  指定轉換過程使用的編碼名稱。預設的編碼從系統屬性 file.encoding 中得到。encoding_name 字串必須是符合要求的字串。
如果application_zh_CN.properties檔案的路徑是:D:\myfiles\myproject\,則轉換該檔案的方法如下:“開始”——“運行”(或者直接按Win + R),輸入cmd,按斷行符號或點擊確定,開啟命令符視窗。輸入d:,按斷行符號;輸入cd myfiles,按斷行符號;輸入cd myproject,按斷行符號;現在已經通過cd命令轉到該檔案的路徑下了,接下來就可以直接利用命令對其進行操作了,輸入:native2ascii -encoding application_zh_CN.properties temp.properties,按斷行符號,這裡將根據application_zh_CN.properties輸出了一個臨時檔案temp.properties,然後把application_zh_CN.properties中的檔案內容替換為這個臨時檔案的內容就可以了。轉換後的application_zh_CN.properties 內容如下:
# Hello\u5b9e\u4f8b\u4f7f\u7528\u7684\u8d44\u6e90\u6587\u4ef6
hello.title=\u7b2c\u4e00\u4e2aStruts\u5e94\u7528
hello.prompt.user=\u8bf7\u8f93\u5165\u7528\u6237\u540d
hello.page.hello=\u4f60\u597d
hello.page.wellocome=\u6b22\u8fce\u6765\u5230Javamxj\u7684Blog
  這樣的操作對於一個或兩個資源檔還行,如果多個資源檔,這樣未免有些太麻煩了。你可以建立一個批次檔(.bat);或者建立一個Ant檔案,利用其包含的native2ascii任務,也可以進行批處理。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.