# Programmer en R/Résoudre les problèmes d'encodage des caractères

* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
[ Modifier le sommaire ]
* Wikipédia propose un article sur : « Codage des caractères ».
L'import de fichiers CSV et des fichiers texte en général peut poser des problèmes d'encodage de caractères. Dans cette section, nous passons en revue des méthodes pour détecter l'encodage d'un fichier et convertir le fichier avant de l'importer dans R. Ces méthodes fonctionnent sous Mac OS X et Linux.

## Détecter l'encodage

Dans cette section, nous prenons pour exemple la liste des départements 2016 publiées par l'Insee.

### Détecter l'encodage avec la commande file

Pour les utilisateurs de Mac OS X et Linux, nous recommandons d'ouvrir une fenêtre d'un Terminal, d'aller dans le dossier correspondant (avec la commande cd) et d'utiliser la commande file -i
Dans certains cas, cette commande permet de connaître l'encodage des caractères. Dans ce cas précis, nous n'avons pas d'information sur l'encodage des caractères dans ce fichier. Nous allons utiliser la commande chardetect.

### Détecter l'encodage avec la commande chardetect

Pour installer chardetect, il suffit d'utiliser la commande pip install dans un terminal :
Pour détecter l'encodage, on tape simplement chardetect suivi du nom du fichier :
La commande nous indique que le fichier depts2016.txt est probablement encodé en windows-1252.

## Convertir l'encodage d'un fichier

Pour convertir le fichier en encodage utf-8 (l'encodage couramment utilisé sur Linux et Mac OS X), on utilise la commande iconv. iconv trois paramètres : l'encodage d'origine (-f pour from), l'encodage de destination (-t pour to) et le nom du fichier :
On voit que cette fois-ci, les accents sont correctement affichés.
Pour enregistrer le résultat, on peut imprimer le résultat de cette commande dans un nouveau fichier texte en indiquant tout simplement le nom du fichier de destination après un chevron > :

## Notes et références

* ↑ http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2016/txt/depts2016.txt

## Voir aussi

* iconv sur la documentation francophone de la distribution Ubuntu
* tutoriel encodage des caractères sur la documentation francophone de la distribution Ubuntu