BaNg@taobao

          Just Do It!

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            20 Posts :: -1 Stories :: 202 Comments :: 0 Trackbacks

          插件源代碼下載 (導(dǎo)入插件在workspace中,右鍵export->Plug-in Development->Deployable plug-ins and fragments,然后生成插件binar文件)
          二進(jìn)制包下載   (因?yàn)閎logjava不許上傳jar文件,請下載后將zip后綴改為jar后綴然后拷貝到eclipse/plugins目錄)


          一般在使用Eclipse過程中會(huì)有兩種跟文件編碼(charset)有關(guān)的情況讓我們不愉快。

          1 導(dǎo)入一個(gè)項(xiàng)目。
            假設(shè)你的同事做好了一個(gè)項(xiàng)目,為了更好的支持國際化,里面的jsp頁面都采用UTF-8,然后發(fā)給你,你導(dǎo)入到Eclipse的workspace中,一般情況下,在Eclipse中,這些jsp都變成了GBK編碼,你雙擊打開,一堆亂碼。假設(shè)你知道原因,稍微如下設(shè)置一下可以解決問題:


          (圖1 設(shè)置文件編碼)
          但是,這個(gè)項(xiàng)目可能包含1000個(gè)jsp文件,且你還可能反反復(fù)復(fù)碰到這個(gè)問題,真是一個(gè)體力活。

          2 改變一個(gè)項(xiàng)目文件的編碼
          這種情況發(fā)生比較少,但發(fā)生了就是一個(gè)大難題。比如公司有兩個(gè)團(tuán)隊(duì),一個(gè)開發(fā)的項(xiàng)目jsp采用UTF-8編碼,另外一個(gè)采用GBK編碼。一段時(shí)間之后,需要整合兩個(gè)項(xiàng)目,jsp頁面只能采用一種編碼,UTF-8/GBK或其它。有經(jīng)驗(yàn)的人知道這是一個(gè)拷貝/設(shè)置編碼/粘貼的過程:
           2.1 將某個(gè)jsp的內(nèi)容全部拷貝下來。
           2.2 如圖1所示將編碼設(shè)置為統(tǒng)一編碼如UTF-8。
           2.3 把設(shè)置過編碼的jsp文件清空,然后粘貼。
           好像解決問題很完美,但是Eclipse沒有宏,如果文件很多,比如2000個(gè),將是一個(gè)恐怖的任務(wù)。

          因?yàn)檫@兩個(gè)問題老是反復(fù)的困擾著我的同事,相信也困擾了不少Java開發(fā)者,Eclipse轉(zhuǎn)碼插件很好很方便的解決了這個(gè)問題,它基于Eclipse 3.3開發(fā),所以編譯環(huán)境最好采用Eclipse 3.3。

          下面是使用步驟

          step1. 將插件com.lifesting.tool.encoding_1.0.0.jar拷貝到eclipse/plugins目錄下,重啟Eclipse。

          step2. 選擇某個(gè)項(xiàng)目,右鍵選擇properties,然后點(diǎn)擊Convert Setting進(jìn)行轉(zhuǎn)碼規(guī)則設(shè)置,如下圖:

          (圖2 項(xiàng)目轉(zhuǎn)碼規(guī)則設(shè)置)
          這個(gè)表格有四列,分別是文件后綴文件目前編碼轉(zhuǎn)換后的編碼,是否轉(zhuǎn)換文件內(nèi)容,如果轉(zhuǎn)換文件內(nèi)容,那么對應(yīng)的是前面所說的第二種情況,不轉(zhuǎn)換文件內(nèi)容對應(yīng)的是第一種情況。比如圖2的轉(zhuǎn)碼規(guī)則就是對項(xiàng)目的jsp文件,不管原來是什么編碼,統(tǒng)一轉(zhuǎn)為UTF-8編碼,并且同時(shí)轉(zhuǎn)換文件內(nèi)容??梢渣c(diǎn)擊右邊的Add /Remove按鈕來增加/刪除規(guī)則。最后點(diǎn)擊Apply來保存設(shè)置。

          step3. 轉(zhuǎn)碼
           在設(shè)置了轉(zhuǎn)碼規(guī)的項(xiàng)目上,右鍵選擇項(xiàng)目,某幾個(gè)文件夾或某幾個(gè)文件(當(dāng)然一個(gè)也可以),然后點(diǎn)擊Lifesting Tools->Set Encoding。插件將完成轉(zhuǎn)碼工作。如果我們選擇的是項(xiàng)目,將轉(zhuǎn)換整個(gè)項(xiàng)目;如果選擇的是文件夾,轉(zhuǎn)換文件夾下所有滿足規(guī)則的文件;如果選擇的是文件,只轉(zhuǎn)換文件。

          (圖3 轉(zhuǎn)碼)
          除了這方式外,我們還可以利用Eclipse的文件搜索功能,將搜到的文件進(jìn)行轉(zhuǎn)碼,如下圖:

          (圖4 在search view里轉(zhuǎn)碼)
          如上圖所示,我們搜到了整個(gè)workspace的jsp文件,然后點(diǎn)擊綠色E小圖標(biāo),插件將會(huì)把所有滿足結(jié)果的文件轉(zhuǎn)碼,每個(gè)文件的轉(zhuǎn)換規(guī)則依賴它所屬項(xiàng)目的轉(zhuǎn)碼規(guī)則設(shè)置。

          posted on 2008-04-11 18:54 Always BaNg. 閱讀(18434) 評(píng)論(23)  編輯  收藏 所屬分類: Java 、Eclipse

          Feedback

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-11 21:17 Matthew Chen
          很實(shí)用,實(shí)際情況確實(shí)有可能有這樣的問題,不過作為新的項(xiàng)目應(yīng)該一開始就規(guī)約統(tǒng)一的編碼方式。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-12 10:05 Robin's Java World
          對,新項(xiàng)目應(yīng)該確定統(tǒng)一的編碼方式。

          另外一個(gè)問題是,如果我項(xiàng)目現(xiàn)在統(tǒng)一都是用的UTF-8,我想把整個(gè)項(xiàng)目所有的文件都改成GB2312的編碼,行不行了?  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-12 22:03 Always BaNg.
          @Robin's Java World
          目前不行,是以文件后綴確定轉(zhuǎn)碼規(guī)則的,但稍微改一下源代碼就可以。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件[未登錄] 2008-04-15 20:04 張旭
          在哪下載呢  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-16 11:09 Always BaNg.
          @張旭
          最上面,源代碼下載,二進(jìn)制包下載  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-16 16:46 solo
          不知.jsp文件里Content-Type值是否也同時(shí)轉(zhuǎn)換了  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-04-16 23:03 Always BaNg.
          @solo
          不會(huì)轉(zhuǎn)JSP 的content-type,但會(huì)轉(zhuǎn)JSP的內(nèi)容,比如你需要把jsp從utf-8轉(zhuǎn)為gbk,那么轉(zhuǎn)之后jsp的內(nèi)容就是gbk編碼的,但可能content-type="text/html;charset=utf-8"還是沒有改變

          轉(zhuǎn)碼只轉(zhuǎn)文件和(或)文件內(nèi)容的編碼,*不轉(zhuǎn)文件的內(nèi)容*。如果再批量的轉(zhuǎn)文件的內(nèi)容,使用Ultraedit批量正則替換即可。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-05-28 21:58 xieamao
          看不到內(nèi)容喲。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-05-28 21:58 xieamao
          看不到下載地址。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-08-07 16:28 px
          我用的是eclipse 3.3 下載你的源碼后 ,導(dǎo)出的插件 eclipse不能識(shí)別呀  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-08-07 21:49 Always BaNg.
          @px
          下載二進(jìn)制包一樣可以使用  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-09-28 21:50 hademon
          你是依據(jù)eclipse的text file encoding來判斷編碼種類的么?我覺得非常不妥。
          我以前有個(gè)項(xiàng)目里編碼很亂,有些是GBK,有些是ISO-8859-1,但是我系統(tǒng)默認(rèn)的編碼是UTF-8。然后用插件轉(zhuǎn)好以后還是全亂碼。
          后來研究發(fā)現(xiàn),如果把編碼先改成gbk開始轉(zhuǎn)碼,則所有g(shù)bk都正常,如果編碼設(shè)置城iso-8859-1,則這種編碼格式的可以正常轉(zhuǎn)換。

          我認(rèn)為編碼判斷應(yīng)該通過程序主動(dòng)判斷,而不是獲取。  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2008-12-07 11:36 netsesame
          非常棒的工具。

          不過有個(gè)問題,如果源文件是GB?編碼,直接使用all->utf8,并轉(zhuǎn)換文件內(nèi)容,則生成的亂碼無法恢復(fù)。

          解決辦法是先把文件轉(zhuǎn)換為GBK格式,然后再通過GBK->utf8,轉(zhuǎn)換內(nèi)容,成功  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2009-06-01 12:09 stev
          MY ECLIPSE 下面無法使用?

            回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2010-06-09 15:28 darwin
          zend studio 7.2不支持  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2010-06-25 09:30 hefanhappy
          樓主,有個(gè)問題請教,我使用插件將UTF-8中文亂碼的java文件轉(zhuǎn)換成GBK編碼,變成?號(hào)亂碼,但是我手動(dòng)resource轉(zhuǎn)換卻是好的! eclipse3.4 java文件默認(rèn)編碼UTF-8  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2010-06-25 09:43 hefanhappy
          貌似只支持正常編碼情況下的相互轉(zhuǎn)換,不支持亂碼情況下的轉(zhuǎn)換@netsesame
            回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2010-06-25 09:43 hefanhappy
          @netsesame
          貌似只支持正常編碼情況下的相互轉(zhuǎn)換,不支持亂碼情況下的轉(zhuǎn)換  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件[未登錄] 2011-07-25 12:12 max
          看不到下載地址  回復(fù)  更多評(píng)論
            

          貌似只支持正常編碼情況下的相互轉(zhuǎn)換,不支持亂碼情況下的轉(zhuǎn)換 回復(fù) 更多評(píng)論  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2011-12-23 16:44 rhwelkin
          支持下,也有類似問題  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2011-12-26 17:28 ricky
          支持的編碼太少了  回復(fù)  更多評(píng)論
            

          # re: Eclipse文件轉(zhuǎn)碼插件 2015-08-27 08:06 navybullet
          支持
            回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 甘泉县| 和田县| 安溪县| 安图县| 丁青县| 泰兴市| 淮阳县| 郎溪县| 垦利县| 新乐市| 玛曲县| 青川县| 宁都县| 扎赉特旗| 邢台市| 东源县| 宜都市| 佛冈县| 和顺县| 凤凰县| 高雄县| 长岭县| 光泽县| 黄平县| 乌鲁木齐市| 玛多县| 新巴尔虎左旗| 吴忠市| 图木舒克市| 新沂市| 通许县| 崇州市| 左权县| 海盐县| 雷州市| 吉安县| 浦江县| 巨鹿县| 同仁县| 来凤县| 东至县|