web-dev-qa-db-fra.com

iconv: Conversion de Windows ANSI en UTF-8 avec nomenclature

Je souhaite utiliser iconv pour convertir des fichiers sur mon Mac. L'objectif est de passer de "Windows ANSI" à "tout ce que le Bloc-notes Windows enregistre, si vous lui indiquez d'utiliser UFT8".

C'est ce que je veux:

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

C'est ce que j'utilise:

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

C'est ce que je reçois (pas ce que je veux):

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

Comment puis-je obtenir la nomenclature?

27
user531912

Vous pouvez l'ajouter manuellement en commençant par echoing les octets dans le fichier:

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

puis concaténer les informations requises à la fin:

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

Notez le >> plutôt que >.

41
borrible

Notez que "Windows ANSI" peut ne pas être le CP1252 - configuré par les utilisateurs.

1
Nemanja Trifunovic