破門(mén):看了下自己的這個(gè)技術(shù)blog,最近的一份帖子竟然是3月份的了。不由感慨,原來(lái)自己已經(jīng)這么久沒(méi)有涉及技術(shù)方面的工作內容了。
今天剛好安裝 vTigerCRM 試用,從網(wǎng)上下載了5.0 b一個(gè)中文資源包,需要將資源包轉換為UTF-8的編碼。折騰一番后,發(fā)現利用Ant 1.6版本的Copy task 新增的一個(gè)特性可以輕松搞定批量的文件字符集編碼轉換,貼出來(lái)給大家共享。:)
build.xml 的詳細內容
build.xml
< project name ="vtigercrm language pack" default ="encoding" >
< property name ="target.dir" value ="${basedir}/target" />
< property name ="output.encoding" value ="UTF-8" />
< target name ="init" >
< mkdir dir ="${target.dir}" />
</ target >
< target name ="clean" >
< delete dir ="${target.dir}" />
</ target >
< target name ="encoding" depends ="init" >
< copy todir ="${target.dir}" outputencoding ="${output.encoding}" >
< fileset dir ="${basedir}" >
< include name ="**/*.php" />
</ fileset >
< filterset >
< filter token ="ENCODING" value ="${output.encoding}" />
</ filterset >
</ copy >
</ target >
</ project >
稍微解釋一下:
1、安裝好ant環(huán)境。好像是廢話(huà),:)
2、按照你的資源文件命名修改 fileset, 比如改成 “**/*.properites”等等;
2、將修改后這個(gè) build.xml 復制到你要進(jìn)行批量文件編碼轉換的最上層目錄;
3、在命令行進(jìn)入上面的目錄,敲入 ant 回車(chē);
4、target 目錄就是你所需要的東東了。
原理:
通過(guò)將當前文件復制到目標輸出目錄的copy 任務(wù),設置 outputencoding 屬性,可以輕松獲得編碼后的資源文件,:)
當然,你還可以設定ant 的filter token, 比如
“@ENCODING@”,來(lái)按照需要修改文件的內容。