# mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_substitute_character — Définit/Récupère les caractères de substitution

### Description

mb_substitute_character(string|int|null `$substitute_character` = `null`): string|int|bool

Spécifie le caractère de substitution des caractères invalides, ou des encodages invalides. Les caractères invalides peuvent être remplacés par `"none"` (pas d'affichage, ils sont supprimés), une chaîne de caractères ou une valeur entier (valeur d'un code de caractère Unicode).

Ce paramétrage affecte mb_convert_encoding(), mb_convert_variables(), mb_output_handler(), mb_scrub(), et mb_send_mail().

### Liste de paramètres

`substitute_character`

  Spécifie une valeur Unicode sous la forme d'un entier, ou bien une chaîne de caractères sous ces formes :

  - `"none"` : pas d'affichage
  - `"long"` : affiche la valeur hexadécimale (Exemple : `U+3000`, `JIS+7E7E`)
  - `"entity"` : affiche l'entité du caractère (Exemple : `&#x200;`)

### Valeurs de retour

Si `substitute_character` est fourni, mb_substitute_character() retourne `true` en cas de succès, et `false` en cas d'erreur. Si `substitute_character` est omis, mb_substitute_character() retourne une valeur Unicode, ou bien "`none`"/"`long`".

### Historique

Version | Description
--- | ---
8.0.0 | Passer une chaîne vide à `substitute_character` n'est plus supporté; `"none"` devrait être fourni à la place.
8.0.0 | `encoding` est désormais nullable.

### Exemples

Exemple #1 Exemple avec mb_substitute_character()

`<?php
/* Configure le caractère de substitution avec U+3013 (GETA MARK) */
mb_substitute_character(0x3013);
/* Configure le caractère de substitution avec un format hexadécimal */
mb_substitute_character("long");
/* Affiche la configuration courante */
echo mb_substitute_character();
?>`