PHP: Problème d’encodage
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 dominer 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.