有没有办法在Windows 10上一次将用阿拉伯语编写的文件夹中的所有文件转换为utf-8 fomat?
我试过这个,但它不起作用:
find . -type f -exec bash -c 'iconv -f iso-8859-1 -t utf-8 "{}" > /path/to/destination/"{}"' \;
答案 0 :(得分:0)
阿拉伯语不能用ISO-8859-1写成;它是一种传统的8位编码,仅适用于大致适合西欧语言子集的拉丁字符子集。
Wikipedia建议使用ISO-8859-6或Windows codepage 1256作为8位阿拉伯语的合理编码候选者。
一旦找到正确的编码,你的命令基本上就可以工作。
如果您有子目录,当您尝试写入不存在的子目录中的文件时,您当前的尝试将失败。如果您没有拥有任何子目录,find
在这里真的是多余的。
for file in ./*; do
iconv -f ENCODING -t utf-8 "$f" >/path/to/destination/"$f"
done
这也适用于处理子目录;在尝试写入目的地之前,可以将此find
解决方案调整为mkdir -p "/path/to/destination/$(dirname "$f")"
。