你好,我正在尝试转换一些来自 Microsoft SQL Server 的日志文件,但是这些文件使用 UTf-16LE 编码,iconv 似乎无法将其转换。
我的操作如下:
iconv -f UTF-16LE -t UTF-8 <filename>
我还尝试删除行末的任何回车符,但这也无法解决问题。如果我使用gedit保存,则可以解决此问题,但由于我有数百个这样的文件,因此这不是可行的解决方案。
编辑:有关缺少选项,请参见新答案。
你好,我正在尝试转换一些来自 Microsoft SQL Server 的日志文件,但是这些文件使用 UTf-16LE 编码,iconv 似乎无法将其转换。
我的操作如下:
iconv -f UTF-16LE -t UTF-8 <filename>
我忘记使用-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
参数,你会发现转换后的文本被回显到stdout中。在这种情况下,请使用管道选项。