国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

利用Eclipse編輯中文資源文件

2019-11-18 13:03:46
字體:
供稿:網(wǎng)友

  既然生為中國人,就沒有什么好抱怨的了,碰到編碼的問題,那只有解決它了。
  
  假如經(jīng)常使用Struts,并做過國際化操作的人來說,對(duì)于中文資源文件的處理應(yīng)該不會(huì)感到生疏的。比如下面兩個(gè)文件,一個(gè)是英文的,一個(gè)是中文的。對(duì)于英文的,一切照常;對(duì)于中文的,一般需要用JDK的native2ascii工具進(jìn)行轉(zhuǎn)換。
  
  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實(shí)例使用的資源文件
  
  hello.title=第一個(gè)Struts應(yīng)用
  hello.prompt.user=請(qǐng)輸入用戶名
  hello.page.hello=你好
  hello.page.wellocome=歡迎來到Javamxj的Blog
  
  我當(dāng)前使用的Eclipse版本是3.1M6,假如使用Eclipse編輯application_zh_CN.properties文件,保存后,關(guān)閉這個(gè)文件,然后再次打開它,會(huì)發(fā)現(xiàn)這個(gè)文件中的中文字符都變成了????。
  
  為什么會(huì)發(fā)生這種情況呢?在中文操作系統(tǒng)下,Eclipse中的Java類型文件的編碼的默認(rèn)設(shè)置是GBK,但是對(duì)Properties資源文件的編碼的默認(rèn)設(shè)置是ISO-8859-1。所以編輯Java文件中的中文不會(huì)出現(xiàn)問題,但編輯Properties資源文件中的中文會(huì)出現(xiàn)問題。
  
  在3.1M6版本下,我們可以直接修改Properties資源文件的默認(rèn)編碼了(Eclipse3.0版本似乎不支持)。在Eclipse主界面下,打開 Window ->Perferences ->General ->Editors ->Context Types:
   利用Eclipse編輯中文資源文件(圖一)
  修改為GBK后,再次打開application_zh_CN.properties文件,編輯后保存,再打開時(shí),文件中的中文字符可以正常顯示了。
  
  這還不行,還必須利用native2ascii來轉(zhuǎn)換一下。
  
  native2ascii-本地碼-至-ASCII 碼轉(zhuǎn)換器
  
  將含有本地編碼字符(既非 Latin1 又非 Unicode 字符)的文件轉(zhuǎn)換為 Unicode 編碼字符的文件。
  
  結(jié)構(gòu)
  
  native2ascii [options] [inputfile [outputfile]]
  
  說明
  
  Java 編譯器和其它 Java 工具只能處理含有 Latin-1 和/或 Unicode 編碼(/udddd 記號(hào))字符的文件。native2ascii 將含有其它字符編碼的文件轉(zhuǎn)換成含 Latin-1 和/或 Unicode 編碼字符的文件。
  
  若省略 outputfile,則使用標(biāo)準(zhǔn)輸出設(shè)備輸出。此外,假如也省略 inputfile,則使用標(biāo)準(zhǔn)輸入設(shè)備輸入。
  
  選項(xiàng)
  
  -reverse
  
  執(zhí)行相反的操作:將含 Latin-1 和/或 Unicode 編碼字符的文件轉(zhuǎn)換成含本地編碼字符的文件:
  
  -encoding encoding_name
  
  指定轉(zhuǎn)換過程使用的編碼名稱。缺省的編碼從系統(tǒng)屬性 file.encoding 中得到。encoding_name 字符串必須是符合要求的字符串。
  
  比如可以這樣利用native2ascii:
  
  native2ascii -encoding gbk application_zh_CN.properties temp.properties
  
  這里將根據(jù)application_zh_CN.properties輸出了一個(gè)臨時(shí)文件temp.properties,然后把a(bǔ)pplication_zh_CN.properties中的文件內(nèi)容替換為這個(gè)臨時(shí)文件的內(nèi)容就可以了。
  
  轉(zhuǎn)換后的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
  
  這樣的操作對(duì)于一個(gè)或兩個(gè)資源文件還行,假如多個(gè)資源文件,這樣未免有些太麻煩了。你可以建立一個(gè)批處理文件(.bat);或者建立一個(gè)Ant文件,利用其包含的native2ascii任務(wù),也可以進(jìn)行批處理。
  
  但是自從使用Eclipse后,好處多多,在Eclipse下,有這么兩個(gè)插件,可以用來處理資源文件,它們使用起來各有千秋。
  
  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 (英文)
  
  仔細(xì)看看文檔,它提供的功能還是很不錯(cuò)的。
  
  Properties Editor
  
  主頁 http://propedit.sourceforge.jp/index_en.html
  
  它提供了三個(gè)版本,單獨(dú)運(yùn)行的版本、Eclipse版本、JBuilder版本,這里只看看Eclipse3下的版本。
  
  PropertiesEditor_EclipsePlugin_for_3.0 V4.4.0
  
  分別以links方式安裝這兩個(gè)插件,啟動(dòng)Eclipse,切換到Perferences,如圖:
  
  · JInto插件
   利用Eclipse編輯中文資源文件(圖二)
  · Properties Editor插件
   利用Eclipse編輯中文資源文件(圖三)
  · 先利用Properties Editor插件編輯資源文件,選中application_zh_CN.properties,右擊,選擇對(duì)應(yīng)的插件,如圖操作:
   利用Eclipse編輯中文資源文件(圖四)
  · Properties Editor插件編輯的效果
   利用Eclipse編輯中文資源文件(圖五)
  · 然后利用JInto插件編輯資源文件:
  利用Eclipse編輯中文資源文件(圖六)
  對(duì)應(yīng)XML文件類型,默認(rèn)的編碼是UTF-8,但假如在xml聲明中可以指定其編碼,如“<?xml version="1.0" encoding="GBK"?>”就指定其編碼為GBK。這樣,Eclipse在讀取xml文件時(shí),會(huì)首先根據(jù)其聲明來設(shè)置這個(gè)文件的編碼,假如在聲明中沒有指定其編碼,那么會(huì)采用UTF-8編碼來讀取這個(gè)文件。所以對(duì)于xml文件,就不需要強(qiáng)制設(shè)置其默認(rèn)的編碼類型了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 绍兴市| 方城县| 垫江县| 藁城市| 翁牛特旗| 长阳| 襄城县| 芒康县| 安仁县| 旺苍县| 禹州市| 波密县| 红桥区| 石台县| 偃师市| 潜山县| 成武县| 丽水市| 德阳市| 福海县| 札达县| 碌曲县| 高密市| 唐山市| 民县| 固原市| 习水县| 常宁市| 睢宁县| 富平县| 阿城市| 漳平市| 大英县| 南靖县| 邹平县| 临潭县| 上栗县| 渝北区| 塘沽区| 奈曼旗| 施秉县|