iconv:使用BOM从Windows ANSI转换为UTF-8

时间:2010-12-06 07:32:59

标签: unicode iconv

我想用iconv转换Mac上的文件。目标是从“Windows ANSI”转到“Windows Notepad保存的任何内容,如果你告诉它使用UFT8”。

这就是我想要的:

anders-johansen-privats-macbook-pro:test andersprivat$ 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?

4 个答案:

答案 0 :(得分:42)

您可以先将echo字节手动添加到文件中:

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

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

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

请注意>>而不是>

答案 1 :(得分:1)

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

答案 2 :(得分:-1)

对于UTF-8,不需要BOM。 Windows记事本可以保存带有或不带有BOM的UTF-8。

答案 3 :(得分:-5)

我需要这个opossite。 (从UTF-8到ANSI的隐蔽德语文本)

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

现在如果我打开output.txt它已经在ANSI中。完成工作。