Java 将整个代码基从UTF-16重新编码为UTF-8
是否有人有好的方法将目录中的所有*.java文件从UTF-16重新编码为UTF-8?在您最喜欢的POSIX兼容shell中运行此命令(当您在源目录中时):Java 将整个代码基从UTF-16重新编码为UTF-8,java,utf-8,utf-16,Java,Utf 8,Utf 16,是否有人有好的方法将目录中的所有*.java文件从UTF-16重新编码为UTF-8?在您最喜欢的POSIX兼容shell中运行此命令(当您在源目录中时): find-name“*.java”|同时读取f;做 mv“$f”“$f.bak” iconv-f utf-16-t utf-8“$f” 完成 在您最喜欢的POSIX兼容shell中运行此命令(当您在源目录中时): find-name“*.java”|同时读取f;做 mv“$f”“$f.bak” iconv-f utf-16-t utf-8“$
find-name“*.java”|同时读取f;做
mv“$f”“$f.bak”
iconv-f utf-16-t utf-8<“$f.bak”>“$f”
完成
在您最喜欢的POSIX兼容shell中运行此命令(当您在源目录中时):
find-name“*.java”|同时读取f;做
mv“$f”“$f.bak”
iconv-f utf-16-t utf-8<“$f.bak”>“$f”
完成
你在使用什么环境?你在使用什么环境?我想你已经颠倒了-f
和-t
。您的调用从UTF-8转换为UTF-16:-)我不太熟悉shell脚本,但它不应该是read f代码>?@Jochen:该死!这就是我发布未经测试的shell脚本得到的结果。是的,当然read
的参数必须与后面使用的参数相同(即,用$j
替换每个$f
将是一个同样有效的修复方法)。Shell脚本很神秘,包含奇怪的默认值和约定,所以我不会怀疑j是否会以某种奇怪的方式被使用:)我想你已经颠倒了-f
和-t
。您的调用从UTF-8转换为UTF-16:-)我不太熟悉shell脚本,但它不应该是read f代码>?@Jochen:该死!这就是我发布未经测试的shell脚本得到的结果。是的,当然read
的参数必须与后面使用的参数相同(即,用$j
替换每个$f
将是一个同样有效的修复方法)。Shell脚本是神秘的,包含奇怪的默认值和约定,因此我不会怀疑j是否会以某种奇怪的方式使用:)
find -name "*.java" | while read f; do
mv "$f" "$f.bak"
iconv -f utf-16 -t utf-8 < "$f.bak" > "$f"
done