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 20/12/2021, 19:34] wiki-corrector-bot passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
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 1: | Ligne 1: | ||
- | |||
{{tag>encodage terminal console}} | {{tag>encodage terminal console}} | ||
====== 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. | + | **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. | + | 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 connaître l'encodage d'un fichier : | Pour connaître l'encodage d'un fichier : | ||
- | <code>$ file -i nom_du_fichier | + | <code bash>file -i nom_du_fichier |
nom_du_fichier: text/plain; charset=iso-8859-1</code> | nom_du_fichier: text/plain; charset=iso-8859-1</code> | ||
+ | On peut aussi utiliser **chardet**, un utilitaire qui permet de détecter l'encodage lorsque `file -i` ne retourne rien. | ||
- | 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/) : |
- | Pour installer [chardet](http://chardet.github.io/) : | + | <code bash>pip install chardet</code> |
- | + | ||
- | $ pip install chardet | + | |
| | ||
Pour l'utiliser | Pour l'utiliser | ||
- | $ chardet filename | + | <code bash>chardet filename</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 convertir : |
- | $ iconv -f macintosh -t UTF-8 NK.tex -o NK2.tex | + | <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 un fichier NK2.tex encodé en UTF-8 et qui pourra donc être lu facilement sous Linux/Ubuntu.\\ | + | 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 par exemple qui, sans cette option, vont bloquer la conversion! | + | 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 [[https://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]] |