<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sung in Blog

               一些技術文章 & 一些生活雜碎
    既然生為中國人,就沒有什么好抱怨的了,遇到編碼的問題,那只有解決它了。
      
      如果經常使用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 字符)的文件轉換為 Unicode 編碼字符的文件。
      
      結構
      
      native2ascii [options] [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 字符串必須是符合要求的字符串。
      
      比如可以這樣利用native2ascii:
      
      native2ascii -encoding gbk 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任務,也可以進行批處理。
      
      但是自從使用Eclipse后,好處多多,在Eclipse下,有這么兩個插件,可以用來處理資源文件,它們使用起來各有千秋。
      
      JInto 0.8.0
      
      主頁 http://www.guh-software.de/jinto.html
      
      下載 http://www.guh-software.de/jinto/de.guhsoft.jinto_0.8.0.zip
      
      文檔 http://www.guh-software.de/jinto/JIntoGettingStarted.pdf (英文)
      
      仔細看看文檔,它提供的功能還是很不錯的。
      
      Properties Editor
      
      主頁 http://propedit.sourceforge.jp/index_en.html
      
      它提供了三個版本,單獨運行的版本、Eclipse版本、JBuilder版本,這里只看看Eclipse3下的版本。
      
      PropertiesEditor_EclipsePlugin_for_3.0 V4.4.0
      
      分別以links方式安裝這兩個插件,啟動Eclipse,切換到Perferences,如圖:
      
      · JInto插件
       
      · Properties Editor插件
       
      · 先利用Properties Editor插件編輯資源文件,選中application_zh_CN.properties,右擊,選擇對應的插件,如圖操作:
       
      · Properties Editor插件編輯的效果
       
      · 然后利用JInto插件編輯資源文件:
      
      對應XML文件類型,默認的編碼是UTF-8,但如果在xml聲明中可以指定其編碼,如“<?xml version="1.0" encoding="GBK"?>”就指定其編碼為GBK。這樣,Eclipse在讀取xml文件時,會首先根據其聲明來設置這個文件的編碼,如果在聲明中沒有指定其編碼,那么會采用UTF-8編碼來讀取這個文件。所以對于xml文件,就不需要強制設置其默認的編碼類型了。
    posted on 2005-11-02 15:41 Sung 閱讀(262) 評論(0)  編輯  收藏 所屬分類: Eclipse
    主站蜘蛛池模板: 亚洲色大成网站www| 亚洲免费一级视频| 九一在线完整视频免费观看| 国产大片免费观看中文字幕| 亚洲国产成人久久| 一区二区无码免费视频网站| 国产亚洲sss在线播放| 四虎国产精品免费久久| 中国亚洲呦女专区| 无码国产亚洲日韩国精品视频一区二区三区 | 99精品视频在线免费观看| 久久亚洲AV午夜福利精品一区 | 日韩精品成人亚洲专区| 成在线人直播免费视频| 国产亚洲高清不卡在线观看| a级黄色毛片免费播放视频| 亚洲AV日韩精品久久久久久久| 最近免费中文在线视频| 亚洲日韩精品无码专区| 国产又长又粗又爽免费视频| gogo免费在线观看| 久久久久亚洲AV片无码| 成人免费视频69| 久久亚洲精品11p| 中文字幕在线亚洲精品| 少妇无码一区二区三区免费| 亚洲看片无码在线视频| 亚洲成av人在片观看| 久久免费国产视频| 亚洲精品无码成人片久久不卡 | 久久久久亚洲精品无码网址色欲| 免费女人18毛片a级毛片视频| 中国一级特黄的片子免费 | 国产亚洲精品精品精品| 亚洲精品乱码久久久久久蜜桃不卡| 9420免费高清在线视频| 另类图片亚洲校园小说区| 久久亚洲精品国产精品黑人| 成人av免费电影| 久久久久久免费一区二区三区| 亚洲男人天堂2022|