Cygwin下的iconv工具(在libiconv包里)不支持-o参数,只能输出到屏幕,因此网上好多方法并不能达到效果,以下是经过测试的使用方法:

for i in `find ./ -type f` ; do iconv -f GBK -t UTF-8 $i > ${i}.tmp && mv ${i}.tmp $i ; done

使用tmp文件是为了在转换失败的时候不要继续覆盖原文件。