您好我正在尝试从 Microsoft SQL 服务器转换一些日志文件,但这些文件是使用 UTf-16LE 编码的,并且 iconv 似乎无法转换它们。
我在做:
iconv -f UTF-16LE -t UTF-8 <filename>
如果有的话,我还尝试从行尾删除任何回车,但这也没有解决它。如果我使用有效的 gedit 保存它,但这不是一个可行的解决方案,因为我有数百个这样的文件。
编辑:请查看缺少选项的新答案
我忘记-o
开关了!
最后的命令是:
iconv -f UTF-16LE -t UTF-8 <filename> -o <new-filename>
您指定的命令将输出到标准输出。您可以使用该-o
参数,也可以重定向您的输出:
与-o
:
iconv -f UTF-16LE -t UTF-8 infile -o outfile
带管道:
iconv -f UTF-16LE -t UTF-8 infile > outfile
两者都会产生预期的结果。
但是,某些版本的 iconv(例如 macOS 上的 v1)不支持该-o
参数,您会看到转换后的文本回显到标准输出。在这种情况下,请使用管道选项。