This function has a bug on recursion detection.
https://bugs.php.net/bug.php?id=66964
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_convert_variables — Преобразовывает символы в переменной(-ых) из одной кодировки в другую
$to_encoding
,$from_encoding
,&$var
,&...$vars
Конвертирует символы в переменных var
и vars
из
кодировки, указанной в параметре from_encoding
, в кодировку,
указанную в параметре to_encoding
.
Функция mb_convert_variables() объединяет строки из массива или объекта для определения их кодировки, так как в случае коротких строк определить кодировку часто не удаётся. Поэтому недопустимо помещать в один массив или объект строки в разных кодировках.
to_encoding
Кодировка, в которую необходимо перекодировать строку (string).
from_encoding
Параметр from_encoding
задаётся в виде массива (array)
или строки (string) с разделёнными запятой кодировками,
функция попытается определить кодировку исходной
строки на основе списка кодировок, заданных
в параметре from-coding
. Если параметр from_encoding
не задан, будет выбрана кодировка, из INI-директивы с именем detect_order
.
var
Параметр var
— это ссылка на переменную, которую
нужно преобразовать. Это может быть строка (string), массив (array) или объект (object).
Функция mb_convert_variables() предполагает, что для всех параметров
задана одинаковая кодировка.
vars
Дополнительные var
.
Возвращает исходную кодировку в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования функции mb_convert_variables()
<?php
/* Преобразование переменных $post1, $post2 во внутреннюю кодировку скрипта */
$interenc = mb_internal_encoding();
$inputenc = mb_convert_variables($interenc, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>
This function has a bug on recursion detection.
https://bugs.php.net/bug.php?id=66964
Last version of this function (php 5.6.27 and php7.0.12) have a bug
https://bugs.php.net/bug.php?id=73407