iconv: Converting from Windows ANSI to UTF-8 with BOM

匿名 (未验证) 提交于 2019-12-03 08:30:34

问题:

I want to use iconv to convert files on my Mac. The goal is to go from "Windows ANSI" to "whatever Windows Notepad saves, if you tell it to use UFT8".

This is what I want:

anders-johansen-privats-macbook-pro:test andersprivat$ file names.csv  names.csv: UTF-8 Unicode (with BOM) text, with CRLF line terminators 

This is what I use:

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

This is what I get (not what I want):

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

How do I get the BOM?

回答1:

You can add it manually by first echoing the bytes into the file:

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

and then concatenating your required information at the end:

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

Note the >> rather than >.



回答2:

Note that "Windows ANSI" may not be CP1252 - that is configured by users.



回答3:

I needed the opossite. (covert german text from UTF-8 to ANSI)

So command I used:
1. iconv -l (check available formats)
2. iconv -f UTF8 -t MS-ANSI de.txt > output.txt

and now if I open output.txt it is already in ANSI. Job done.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!