utf8_encode()
La fonction utf8_encode() est une fonction intégrée de PHP qui convertit une chaîne de caractères de l'encodage ISO-8859-1 vers UTF-8. Elle est utile lorsque vous devez afficher ou traiter du texte en ISO-8859-1 dans un système ne supportant que l'UTF-8, garantissant ainsi un affichage correct des caractères.
Syntaxe
La syntaxe de la fonction utf8_encode() est la suivante :
syntaxe de la fonction utf8_encode()
utf8_encode($string)Où $string est la chaîne de caractères encodée en ISO-8859-1 que vous souhaitez convertir en encodage UTF-8.
Exemples d'utilisation
Examinons quelques exemples pratiques d'utilisation de utf8_encode() en PHP.
Exemple 1 : Conversion de texte encodé en ISO-8859-1 vers UTF-8
Supposons que vous ayez une chaîne de caractères encodée en ISO-8859-1 que vous souhaitez convertir en UTF-8. Vous pouvez utiliser la fonction utf8_encode() pour cela, comme suit :
Conversion de texte encodé en ISO-8859-1 vers UTF-8
<?php
// Note : Cet exemple suppose que le fichier source PHP est enregistré en ISO-8859-1.
// Si votre éditeur enregistre les fichiers en UTF-8 par défaut, utf8_encode() doublera l'encodage de la chaîne.
$text = "Café au lait";
$utf8_text = utf8_encode($text);
echo $utf8_text;
?>Ce code définit une variable de chaîne $text contenant le texte encodé en ISO-8859-1 "Café au lait". Il utilise ensuite la fonction utf8_encode() pour convertir le texte en encodage UTF-8 et stocke le résultat dans une nouvelle variable $utf8_text. Enfin, il affiche le texte encodé en UTF-8 dans la console.
Exemple 2 : Conversion de texte encodé en ISO-8859-1 issu d'un fichier XML
Supposons que vous ayez un fichier XML contenant du texte encodé en ISO-8859-1 que vous souhaitez lire et convertir en UTF-8. Vous pouvez utiliser la bibliothèque SimpleXML de PHP pour lire le fichier XML et la fonction utf8_encode() pour convertir le texte, comme suit :
Conversion de texte encodé en ISO-8859-1 issu d'un fichier XML
<?php
$xml = simplexml_load_file("data.xml");
foreach ($xml->item as $item) {
$title = utf8_encode($item->title);
$description = utf8_encode($item->description);
echo "$title: $description\n";
}
?>Ce code charge un fichier XML "data.xml" à l'aide de la fonction simplexml_load_file(), puis itère sur chaque élément <item> à l'aide d'une boucle foreach. À l'intérieur de la boucle, il utilise la fonction utf8_encode() pour convertir le texte encodé en ISO-8859-1 des éléments <title> et <description> en UTF-8, et stocke les résultats dans deux nouvelles variables $title et $description. Enfin, il affiche le texte encodé en UTF-8 dans la console.
Remarque : utf8_encode() est dépréciée dans PHP 8.2. Pour les applications modernes, envisagez d'utiliser mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1') ou iconv('ISO-8859-1', 'UTF-8', $string) pour une meilleure compatibilité interplateforme et une gestion explicite des encodages.
Conclusion
Dans cet article, nous avons présenté la fonction utf8_encode() de PHP et son utilisation pour convertir du texte encodé en ISO-8859-1 vers UTF-8. Nous avons expliqué le fonctionnement de cette fonction, sa syntaxe et fourni des exemples concrets d'utilisation. En suivant ces exemples, vous pourrez vous assurer que vos données textuelles sont correctement encodées pour les applications web modernes.
Practice
Quelle est l'utilité de la fonction utf8_encode() en PHP ?