Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Multibyte String Functionsmb_chr>
^Multibyte String FunctionsLast updated: Mon, 26 Oct 2026

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3, PHP 7, PHP 8)

mb_check_encoding — Check if strings are valid for the specified encoding

Description

function mb_check_encoding(array|string|null $value = null, ?string $encoding = null): bool

Checks if the specified byte stream is valid for the specified encoding. If value is of type array, all keys and values are validated recursively. It is useful to prevent so-called "Invalid Encoding Attack".

Parameters

value

The byte stream or array to check. If it is omitted, this function checks all the input from the beginning of the request.

Warning

As of PHP 8.1.0, omitting this parameter or passing null is deprecated.

encoding

The expected encoding.

Return Values

Returns true on success or false on failure.

Errors/Exceptions

As of PHP 8.0.0, a ValueError is thrown if encoding is an invalid encoding. Prior to PHP 8.0.0, an E_WARNING was emitted instead.

Changelog

Version Description
8.1.0 Calling this function with null as value or without argument is deprecated.
8.0.0 value and encoding are nullable now.
8.0.0 Now throws a ValueError if encoding is an invalid encoding. Previously, an E_WARNING was emitted and false was returned.
7.2.0 This function now also accepts an array as value. Formerly, only strings have been supported.

<Multibyte String Functionsmb_chr>
^Multibyte String FunctionsLast updated: Mon, 26 Oct 2026