【问题标题】:iconv: Converting from Windows ANSI to UTF-8 with BOMiconv:使用 BOM 从 Windows ANSI 转换为 UTF-8
【发布时间】:2011-05-20 20:00:03
【问题描述】:

我想使用iconv 在我的 Mac 上转换文件。目标是从“Windows ANSI”转变为“Windows 记事本保存的任何内容,如果您告诉它使用 UFT8”。

这就是我想要的:

$ file names.csv 
names.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators

这是我用的:

$ iconv -f CP1252 -t UTF-8  names.csv > names.utf8.csv 

这是我得到的(不是我想要的):

$ file names.utf8.csv 
names.utf8.csv: UTF-8 Unicode text, with CRLF line terminators

如何获取 BOM?

【问题讨论】:

    标签: unicode iconv


    【解决方案1】:

    您可以通过先将字节echoing 到文件中来手动添加它:

    echo -ne '\xEF\xBB\xBF' > names.utf8.csv
    

    然后在最后连接您所需的信息:

    iconv -f CP1252 -t UTF-8  names.csv >> names.utf8.csv
    

    注意>> 而不是>

    【讨论】:

    【解决方案2】:

    请注意,“Windows ANSI”可能不是 CP1252 - 由用户配置。

    【讨论】:

      【解决方案3】:

      对于 UTF-8,BOM 不是必需的。 并且 Windows 记事本可以在有或没有 BOM 的情况下保存 UTF-8。

      【讨论】:

        【解决方案4】:

        我需要对面。 (从 UTF-8 到 ANSI 的隐蔽德语文本)

        所以我使用的命令:
        1. iconv -l(检查可用格式)
        2. iconv -f UTF8 -t MS-ANSI de.txt > output.txt

        现在如果我打开 output.txt,它已经在 ANSI 中了。任务完成。

        【讨论】:

        • 这个问题专门询问了 BOM,所以我认为您的回答没有帮助。
        猜你喜欢
        • 2012-07-19
        • 1970-01-01
        • 2015-10-06
        • 2011-07-25
        • 1970-01-01
        • 2017-06-05
        • 2016-08-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多