iconv: conversion de Windows ANSI en UTF-8 avec BOM

je veux utiliser iconv pour convertir des fichiers sur mon Mac. Le but est de passer de" Windows ANSI "à"tout ce que Windows Notepad sauve, si vous lui dites 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 j'obtiens (pas ce que je veux):

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

Comment obtenir le BOM?

26
demandé sur user531912 2010-12-06 10:32:59

3 réponses

Vous pouvez l'ajouter manuellement en premier echoing les octets dans le fichier:

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

et ensuite concaténer vos informations requises à la fin:

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

Notez le >> plutôt que >.

38
répondu borrible 2010-12-06 10:00:47

notez que" Windows ANSI " peut ne pas être CP1252 - qui est configuré par les utilisateurs.

1
répondu Nemanja Trifunovic 2010-12-06 16:42:11

j'avais besoin de l'opossite. (covert texte allemand de l'UTF-8 à la norme ANSI)

Donc la commande que j'ai utilisé:

1. iconv-l (vérifier les formats disponibles)

2. iconv - FTF8-T MS-ANSI de.txt > sortie.txt



et maintenant, si j'ouvre la sortie.txt il est déjà dans ANSI. Le travail est accompli.

-4
répondu Maris 2014-09-04 12:34:40