Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
iconv [Le 06/03/2011, 21:49] PAC2 titre |
iconv [Le 28/02/2025, 17:38] (Version actuelle) bcag2 [Mode d'emploi] ajout balises <code bash> et exemple iso-8859-1 vers utf-8 |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
====== iconv ====== | ====== iconv ====== | ||
- | **iconv** est un utilitaire permettant de modifier l'encodage des fichiers texte. **iconv** est utile lorsqu'on souhaite lire dans Linux des fichiers textes qui ont été produit avec un autre système d'exploitation, par exemple un mac vieille génération (avant Mac os 10.5) ou Windows. L'encodage par défaut sous Linux est en général UTF-8. L'encodage par défaut dans les Mac vieille génération s'appelle applemac ou macintosh. L'encodage par défaut sous Windows s'appelle Latin1. | + | **iconv** est un utilitaire permettant de modifier l'encodage des fichiers texte. **iconv** est utile lorsqu'on souhaite lire dans Linux des fichiers textes qui ont été produit avec un autre système d'exploitation. |
+ | Par exemple un mac vieille génération (avant Mac os 10.5) ou Windows. L'encodage par défaut sous Linux est en général UTF-8. L'encodage par défaut dans les Mac vieille génération s'appelle applemac ou macintosh. Les encodages les plus courants sous Windows sont Latin1, MS-ANSI CP1252, ISO-8859-1 ou ISO-8859-15. | ||
- | L'encodage est particulièrement important pour toutes les langues contenant des accents et des caractères spéciaux. En général, pour un texte en Anglais, il n'y a aucun problème d'encodage. | + | L'encodage est particulièrement important pour toutes les langues contenant des accents et des caractères spéciaux. En général, pour un texte en Anglais, il n'y a aucun problème d'encodage. |
===== Mode d'emploi ===== | ===== Mode d'emploi ===== | ||
- | Pour vérifier qu'iconv est bien présent sur l'ordinateur, il suffit d'ouvrir un terminal et de taper: | + | Pour vérifier qu'iconv est bien présent sur l'ordinateur, il suffit d'ouvrir un terminal et de taper: |
- | $ which iconv | + | <code bash> |
- | /usr/bin/iconv | + | which iconv |
+ | # retourne par exemple : | ||
+ | /usr/bin/iconv | ||
+ | </code> | ||
- | Pour convertir un fichier texte (ici NK.tex) d'un encodage mac vers un encodage UTF-8, on peut utiliser la ligne de commande suivante : | + | Pour connaître l'encodage d'un fichier : |
- | $ iconv -f macintosh -t UTF-8 NK.tex > NK2.tex | + | <code bash>file -i nom_du_fichier |
+ | nom_du_fichier: text/plain; charset=iso-8859-1</code> | ||
- | On crée ainsi un fichier NK2.tex encodé en UTF-8 et qui pourra donc être lu facilement sous Linux/Ubuntu. | + | On peut aussi utiliser **chardet**, un utilitaire qui permet de détecter l'encodage lorsque `file -i` ne retourne rien. |
+ | |||
+ | Pour installer [chardet](http://chardet.github.io/) : | ||
+ | |||
+ | <code bash>pip install chardet</code> | ||
+ | |||
+ | Pour l'utiliser | ||
+ | |||
+ | <code bash>chardet filename</code> | ||
+ | |||
+ | Pour convertir : | ||
+ | <code bash> | ||
+ | # un fichier texte (ici NK.tex) d'un encodage mac vers un encodage UTF-8 : | ||
+ | iconv -f macintosh -t UTF-8 NK.tex -o NK2.tex | ||
+ | # et un fichier iso-8859-1 vers utf-8 : | ||
+ | iconv -f iso-8859-1 -t utf-8 fichier_en_iso-8859-1 -o fichier_en_utf-8 | ||
+ | </code> | ||
+ | |||
+ | On crée ainsi des fichiers encodés en UTF-8 qui pourront être lu facilement sous Linux/Ubuntu.\\ | ||
+ | L'option //-c// permet de supprimer les caractères qui ne sont pas convertibles, si vous avez des caractères d'un autre codage que celui du fichier source. Sans cette option, ces caractères font échouer la conversion ! | ||
On peut consulter la liste des encodages disponibles en utilisant l'option ''-l'' | On peut consulter la liste des encodages disponibles en utilisant l'option ''-l'' | ||
- | $ iconv -l | + | <code bash>iconv -l </code> |
| | ||
- | Pour en savoir plus, on peut consulter le manuel : | + | Pour en savoir plus, on peut consulter le manuel : |
- | $ man iconv | + | <code bash>man iconv</code> |
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * On peut aussi lire la page consacrée à l'encodage des caractères sur [[http://fr.wikipedia.org/wiki/Encodage_de_caract%C3%A8res|Wikipédia]]. | + | * On peut aussi lire la page consacrée à l'encodage des caractères sur [[https://fr.wikipedia.org/wiki/Encodage_de_caract%C3%A8res|Wikipédia]]. |
* [[tutoriel:encodage_caracteres|FAQ sur les encodages de caractères]] | * [[tutoriel:encodage_caracteres|FAQ sur les encodages de caractères]] |