如何将多个 ISO8859-1 转换为 UTF-8

Lui*_*ado 6 conversion file-format

我正在尝试将几个 SQL 文件从 ISO8859-1 转换为 UTF-8

我正在执行以下命令:

iconv -f ISO_8859-1 -t UTF-8 *.sql

我得到的是他们的内容到终端的输出,这是很长的,并且在结束输出后他们不会转换。他们保持不变。我希望能够转换而看不到输出。

Jam*_*dge 7

iconv默认将其输出发送到 stdout,这解释了您所看到的行为。您可以使用该-o选项将输出定向到一个文件,但这只会生成一个输出文件,并且可能无法帮助您就地更新文件。也许尝试这样的事情:

for file in *.sql; do
    iconv -f ISO-8859-1 -t UTF-8 -o "$file".utf "$file" && mv "$file".utf "$file"
done
Run Code Online (Sandbox Code Playgroud)

这将转换每个文件并将结果存储在一个临时文件中,如果转换成功,则将其移动到原始文件名。