web-dev-qa-db-ja.com

iconv:Windows ANSIからBOMを使用したUTF-8への変換

Macでiconvを使用してファイルを変換したい。目標は、「Windows ANSI」から「UFT8を使用するように指示した場合、Windowsのメモ帳が保存するものすべて」に移行することです。

これは私が欲しいものです:

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を取得するにはどうすればよいですか?

29
user531912

ファイルにバイトを最初にechoingすることで手動で追加できます:

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

最後に必要な情報を連結します:

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

>>ではなく>に注意してください。

43
borrible

「Windows ANSI」はCP1252ではない可能性があります-CP1252はユーザーによって設定されます。

1