# mb_convert_encoding

(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

### Description

mb_convert_encoding(array|string `$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.

### Liste de paramètres

`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`.

### Valeurs de retour

La chaîne de caractères ou tableau encodé en cas de succès, ou `false` si une erreur survient.

### Erreurs / Exceptions

À 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.

### Historique

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 `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.

### Exemples

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");
?>`

### Voir aussi

- mb_detect_order() - Lit/modifie l'ordre de détection des encodages
- 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