(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
.
optionnellement depuis from_encoding
.
Si string
est un tableau, toutes ses valeurs chaîne de caractères
seront convertit récursivement.
string
La chaîne de caractères ou tableau à convertir.
to_encoding
L'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 (tableau) 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
.
La chaîne de caractères ou tableau encodé en cas de succès, ou false
si une erreur survient.
À partir de PHP 8.0.0, une ValueError est lancé 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.0.0 |
mb_convert_encoding() lancera désormais une
ValueError quand
to_encoding est passé un encodage invalide.
|
8.0.0 |
mb_convert_encoding() lancera désormais une
ValueError quand
from_encoding est passé un encodage invalide.
|
8.0.0 |
from_encoding est désormais nullable.
|
7.2.0 |
Cette fonction accepte désormais un tableau en tant que
string .
Auparavant, seulement les chaîne de caractères é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");
?>