我一直在尝试将一个大型Java源代码树从cp1252转换为UTF-8编码,在Windows下使用我在网上找到的技巧,特别是这里。问题是,我使用的是Windows系统,我不会VB,Cygwin的iconv命令不支持 -o
选项。
我最初尝试使用的命令行是:
find . -type f -print -exec iconv -f cp1252 -t utf-8 {} > {}.converted \; -exec mv {}.converted {} \;
这将在当前工作目录下创建一个名为
{}.converted
的文件,第二个-exec
因明显原因而失败。在iconv表达式周围添加引号:
find . -type f -print -exec 'iconv -f cp1252 -t utf-8 {} > {}.converted' \; -exec mv {}.converted {} \;
导致以下错误的结果:
find: `iconv -f cp1252 -t utf-8 ./java/dv/framework/activity/model/ActivitiesMediaViewImpl.java > ./java/dv/framework/activity/model/ActivitiesMediaViewImpl.java.converted': No such file or directory
虽然手动执行单个表达式可以完美运行。
我尝试了随机引用,但是似乎没有什么效果,我错过了什么?为什么它不起作用..?
先感谢您的帮助, Lars