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

mb_substitute_characterSet/Get substitution character


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

Specifies a substitution character when input character encoding is invalid or character code does not exist in output character encoding. Invalid characters may be substituted "none" (no output), string or int value (Unicode character code value).

This setting affects mb_convert_encoding(), mb_convert_variables(), mb_output_handler(), and mb_send_mail().



Specify the Unicode value as an int, or as one of the following strings:

  • "none": no output
  • "long": Output character code value (Example: U+3000, JIS+7E7E)
  • "entity": Output character entity (Example: Ȁ)

Return Values

If substitute_character is set, it returns true for success, otherwise returns false. If substitute_character is not set, it returns the current setting.


Version Description
8.0.0 Passing an empty string to substitute_character is no longer supported; "none" should be passed instead.
8.0.0 encoding is nullable now.


Example #1 mb_substitute_character() example

/* Set with Unicode U+3013 (GETA MARK) */

/* Set hex format */

/* Display current setting */
echo mb_substitute_character();

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top