Convertit une chaîne ISO-8859-1 en UTF-8

# utf8_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_encode — Convertit une chaîne ISO-8859-1 en UTF-8

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.2.0. Dépendre de cette fonction est fortement déconseillé.

### Description

#[\Deprecated]
function utf8_encode(string `$string`): string

Cette fonction convertit la chaîne `string` depuis l'encodage `ISO-8859-1` vers `UTF-8`.

> Note:

> Cette fonction n'essaie pas de deviner l'encodage actuel de la chaîne de caractères fournie, elle suppose qu'elle est encodée en ISO-8859-1 (également connu sous le nom de "Latin 1") et la convertit en UTF-8. Puisque chaque séquence d'octets est une chaîne de caractères ISO-8859-1 valide, il n'y a jamais d'erreur, mais il n'en résultera pas une chaîne de caractères utile si un encodage différent était prévu.

> De nombreuses pages Web marquées comme utilisant l'encodage de caractère `ISO-8859-1` utilisent effectivement un encodage similaire à `Windows-1252`, et les navigateurs Web interpréteront les pages Web `ISO-8859-1` comme `Windows-1252`. Les caractéristiques supplémentaires de `Windows-1252` sont des caractères imprimables, tels que le signe euro (`€`) et les guillemets bouclés (`“` `”`), à la place de certains caractères de contrôle de l'`ISO-8859-1`. Cette fonction ne convertira pas ces caractères `Windows-1252` correctement. Utiliser une fonction différente si une conversion `Windows-1252` est nécessaire.

### Liste de paramètres

`string`

  Une chaîne ISO-8859-1.

### Valeurs de retour

Retourne la version UTF-8 de `string`.

### Historique

Version | Description
--- | ---
8.2.0 | Cette fonction a été rendue obsolète.
7.2.0 | Cette fonction a été déplacée dans le cœur de PHP, auparavant, il était nécessaire d'installer l'extension XML pour l'utiliser.

### Exemples

Exemple #1 Exemple d'utilisation

    <?php
    // Convertit la chaîne 'Zoë' de ISO 8859-1 à UTF-8
    $iso8859_1_string = "\x5A\x6F\xEB";
    $utf8_string = utf8_encode($iso8859_1_string);
    echo bin2hex($utf8_string), "\n";
    ?>

L'exemple ci-dessus va afficher :

    5a6fc3ab

### Notes

> Note: Dépréciation et alternatives

> Cette fonction est obsolète à partir de PHP 8.2.0 et sera supprimée dans une version future. Les utilisations existantes devraient être vérifiées et remplacées par des alternatives appropriées.

> Une fonctionnalité similaire peut être obtenue avec mb_convert_encoding(), qui prend en charge ISO-8859-1 et de nombreux autres encodages de caractères.

>     <?php
>     $iso8859_1_string = "\xEB"; // 'ë' (e tréma) en ISO-8859-1
>     $utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
>     echo bin2hex($utf8_string), "\n";

>     $iso8859_7_string = "\xEB"; // la même chaîne en ISO-8859-7 représente 'λ' (lambda grec minuscule)
>     $utf8_string = mb_convert_encoding($iso8859_7_string, 'UTF-8', 'ISO-8859-7');
>     echo bin2hex($utf8_string), "\n";

>     $windows_1252_string = "\x80"; // '€' (signe euro) en Windows-1252, mais pas en ISO-8859-1
>     $utf8_string = mb_convert_encoding($windows_1252_string, 'UTF-8', 'Windows-1252');
>     echo bin2hex($utf8_string), "\n";
>     ?>

> L'exemple ci-dessus va afficher :

>     c3ab
>     cebb
>     e282ac

> D'autres options peuvent être disponibles en fonction des extensions installées, telles que UConverter::transcode() et iconv().

> Les exemples suivants donnent tous le même résultat :

>     <?php
>     $iso8859_1_string = "\x5A\x6F\xEB"; // 'Zoë' en ISO-8859-1

>     $utf8_string = utf8_encode($iso8859_1_string);
>     echo bin2hex($utf8_string), "\n";

>     $utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
>     echo bin2hex($utf8_string), "\n";

>     $utf8_string = UConverter::transcode($iso8859_1_string, 'UTF8', 'ISO-8859-1');
>     echo bin2hex($utf8_string), "\n";

>     $utf8_string = iconv('ISO-8859-1', 'UTF-8', $iso8859_1_string);
>     echo bin2hex($utf8_string), "\n";
>     ?>

> L'exemple ci-dessus va afficher :

>     5a6fc3ab
>     5a6fc3ab
>     5a6fc3ab
>     5a6fc3ab

### Voir aussi

- utf8_decode() - Convertit une chaîne UTF-8 en ISO-8859-1, en remplaçant les caractères invalides ou non représentables.
- mb_convert_encoding() - Convertir une chaîne d'un codage de caractères à un autre
- UConverter::transcode() - Convertit une chaîne d'un jeu de caractères à un autre
- iconv() - Convertit une chaîne de caractères à partir d'un encodage vers un autre

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open