PHP: Problème d’encodage

Comment résoudre les erreurs d'encodage en PHP

Il n’est pas rare de rencontrer d’erreur liés à l’encodage. L’encodage, une véritable plait que nous essayons tous de vaincre en harmonisant le type de nos fichier en UTF-8. Si aujourd’hui résoudre les problèmes d’encodage peut se faire avec un ou deux cliques, ce problème peut parfois être plus récalcitrant.

Un encodage pour les dominés tous !

J’ai récemment été confronté (et ce pour une nouvelle fois… ) à un problème d’encodage. Je devais développer un système permettant d’extraire des données provenant d’un .xls ou .xlsx en PHP. Bien évidemment Microsoft préfère utiliser son système de codage plutôt que l’UTF-8.
Je vous propose cet appel qui permettra de retourner n’importe quelle chaîne, encodée dans n’importe quel ISO, vers le format de votre choix, en l’occurrence ici, l’UTF-8. L’appel détecte l’encodage , et le convertit en fonction.

1
mb_convert_encoding($string, "UTF-8", mb_detect_encoding($string));

Pour avoir accès à ces fonctions PHP, vous devez seulement vous assurer que l’extension php_mbstring est bien activé dans votre php.ini. Cette extension est fourni dans PHP nativement ce qui vous évitera un téléchargement.