it's kinda evil and gives you tons of headache.
Цей функціонал ЗАСТАРІВ, починаючи з PHP 7.2.0, та ВИЛУЧЕНИЙ в PHP 8.0.0. Вкрай не рекомендується на нього покладатися.
You might often find it difficult to get an existing PHP application to work in a given multibyte environment. This happens because most PHP applications out there are written with the standard string functions such as substr(), which are known to not properly handle multibyte-encoded strings.
mbstring supports a 'function overloading' feature which enables you to add multibyte awareness to such an application without code modification by overloading multibyte counterparts on the standard string functions. For example, mb_substr() is called instead of substr() if function overloading is enabled. This feature makes it easy to port applications that only support single-byte encodings to a multibyte environment in many cases.
  To use function overloading, set
  mbstring.func_overload in php.ini to a
  positive value that represents a combination of bitmasks specifying
  the categories of functions to be overloaded. It should be set
  to 1 to overload the mail() function. 2 for string
  functions, 4 for regular expression functions. For example,
  if it is set to 7, mail, strings and regular expression functions will
  be overloaded. The list of overloaded functions are shown below.
  
| value of mbstring.func_overload | original function | overloaded function | 
|---|---|---|
| 1 | mail() | mb_send_mail() | 
| 2 | strlen() | mb_strlen() | 
| 2 | strpos() | mb_strpos() | 
| 2 | strrpos() | mb_strrpos() | 
| 2 | substr() | mb_substr() | 
| 2 | strtolower() | mb_strtolower() | 
| 2 | strtoupper() | mb_strtoupper() | 
| 2 | stripos() | mb_stripos() | 
| 2 | strripos() | mb_strripos() | 
| 2 | strstr() | mb_strstr() | 
| 2 | stristr() | mb_stristr() | 
| 2 | strrchr() | mb_strrchr() | 
| 2 | substr_count() | mb_substr_count() | 
Зауваження:
It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to undefined behaviour.
I took over a project with this "feature" enabled... took me a while to figure out why strings behaved non language standard. So, if you like to make grown men cry - by all means enable this deathtrap.In short, only use mbstring.func_overload if you are 100% certain that nothing on your site relies on manipulating binary data in PHP.In case you need to (de)activate the overloading for a specific directory, try setting an appropriate php_admin_value in your httpd.conf, e.g.
<Directory ...>
   ...
   php_admin_value mbstring.func_overload 7
</Directory>
I'm not 100% sure if one can rely on that, but it seems to work for me.