【问题标题】:Using iconv to convert from UTF-16LE to UTF-8使用 iconv 将 UTF-16LE 转换为 UTF-8
【发布时间】:2013-06-25 01:25:01
【问题描述】:

您好,我正在尝试从 Microsoft SQL 服务器转换一些日志文件,但这些文件是使用 UTf-16LE 编码的,而 iconv 似乎无法转换它们。

我在做:

iconv -f UTF-16LE -t UTF-8 <filename>

如果有的话,我还尝试从行尾删除任何回车,但这也没有解决问题。如果我使用有效的 gedit 保存它,但这不是一个可行的解决方案,因为我有数百个这样的文件。

编辑:请查看缺失选项的新答案

【问题讨论】:

  • 您好,您能否将其中一个答案标记为已接受? :) 干杯!

标签: linux utf-16le


【解决方案1】:

我忘记了-o 开关!

最后的命令是:

iconv -f UTF-16LE -t UTF-8 <filename> -o <new-filename>

【讨论】:

    【解决方案2】:

    您指定的命令将输出到标准输出。您可以使用-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 参数,您会看到转换后的文本回显到标准输出。在这种情况下,请使用管道选项。

    【讨论】:

      猜你喜欢
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多