通过Ant批量转换文件的字符集编码

通过Ant批量转换文件的字符集编码

破门:看了下自己的这个技术blog,最近的一份帖子竟然是3月份的了。不由感慨,原来自己已经这么久没有涉及技术方面的工作内容了。
今天刚好安装 vTigerCRM 试用,从网上下载了5.0 b一个中文资源包,需要将资源包转换为UTF-8的编码。折腾一番后,发现利用Ant 1.6版本的Copy task 新增的一个特性可以轻松搞定批量的文件字符集编码转换,贴出来给大家共享。:)

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环境。好像是废话,:)
2、按照你的资源文件命名修改 fileset, 比如改成 “**/*.properites”等等;
2、将修改后这个 build.xml 复制到你要进行批量文件编码转换的最上层目录;
3、在命令行进入上面的目录,敲入 ant  回车;
4、target 目录就是你所需要的东东了。

原理:
通过将当前文件复制到目标输出目录的copy 任务,设置 outputencoding 属性,可以轻松获得编码后的资源文件,:)
当然,你还可以设定ant 的filter token, 比如 “@ENCODING@”,来按照需要修改文件的内容。



不得窥道门,不得悟佛门,不得入窄门,实乃破门。

你可能感兴趣的:(通过Ant批量转换文件的字符集编码)