(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_convert_encoding — Convertir une chaîne d'un codage de caractères à un autre
$string, string $to_encoding, array|string|null $from_encoding = null): array|string|false
Convertit la string à partir de from_encoding,
ou l'encodage interne actuel, en to_encoding.
Si string est un array, toutes ses valeurs string
seront converties récursivement.
stringto_encodingL'encodage désiré du résultat.
from_encoding
L'encodage actuel utilisé pour interpréter la string.
Plusieurs encodages peuvent être spécifiés sous forme de tableau (array) ou de liste séparée par des virgules.
Dans ce cas, l'encodage correct sera deviné en utilisant le
même algorithme que mb_detect_encoding().
Si from_encoding est omis ou null, le
paramètre mbstring.internal_encoding
sera utilisé s'il est défini, sinon le paramètre default_charset sera utilisé.
Voir encodages pris en charge
pour les valeurs valides de to_encoding
et from_encoding.
À partir de PHP 8.0.0, une ValueError est lancée si la
valeur de to_encoding ou
from_encoding est un encodage invalide.
Antérieur à PHP 8.0.0, une E_WARNING était émise à la place.
| Version | Description |
|---|---|
| 8.2.0 |
mb_convert_encoding() ne renverra plus
les encodages non textuels suivants :
"Base64", "QPrint",
"UUencode", "HTML entities",
"7 bit" et "8 bit".
|
| 8.0.0 |
mb_convert_encoding() lancera désormais une
ValueError quand
un encodage invalide est passé à to_encoding.
|
| 8.0.0 |
mb_convert_encoding() lancera désormais une
ValueError quand
un encodage invalide est passé à from_encoding.
|
| 8.0.0 |
from_encoding est désormais nullable.
|
| 7.2.0 |
Cette fonction accepte désormais un array en tant que
string.
Auparavant, seulement les string étaient supportées.
|
Exemple #1 Exemple avec mb_convert_encoding()
<?php
/* Convertit l'encodage interne vers SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Convertit EUC-JP en UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Détecte automatiquement un encodage entre JIS, eucjp-win ou sjis-win,
Puis convertit en UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* Si mbstring.language est "Japanese", "auto" est étendu à "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>