(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_convert_encoding — Преобразовывает строку из одной кодировки символов в другую
$string
, string$to_encoding
, array|string|null$from_encoding
= null
): array|string|false Преобразовывает значение параметра string
из кодировки from_encoding
, или текущей внутренней кодировки, в кодировку to_encoding
. Если значение параметра string
— это массив (array), все его строковые (string) значения будут рекурсивно преобразованы.
string
to_encoding
Необходимая кодировка результата.
from_encoding
Текущая кодировка, которая будет использована для интерпретации строки string
. Несколько кодировок разрешено указывать в виде массива (array) или разделённого запятыми списка, тогда PHP попытается определить правильную кодировку по тому же алгоритму, который использует функция mb_detect_encoding().
Если параметр from_encoding
опущен или равен null
, то будет использовано значение директивы mbstring.internal_encoding setting, если она установлена, иначе кодировка по умолчанию.
Допустимые значения параметров to_encoding
и from_encoding
указаны на странице поддерживаемые кодировки.
Функция возвращает или закодированную строку (string), или закодированный массив (array), или false
, если возникла ошибка.
Начиная с PHP 8.0.0 выбрасывается исключение ValueError, если значением параметра to_encoding
или параметра from_encoding
окажется недопустимая кодировка. До PHP 8.0.0 вместо этого выдавалась ошибка уровня E_WARNING
.
Версия | Описание |
---|---|
8.2.0 | Функция mb_convert_encoding() больше не будет возвращать следующие нетекстовые кодировки: «Base64» , «QPrint» , «UUencode» , «HTML entities» , «7 bit» и «8 bit» . |
8.0.0 | Функция mb_convert_encoding() теперь выбрасывает исключение ValueError, если в параметр to_encoding передана недопустимая кодировка. |
8.0.0 | Функция mb_convert_encoding() теперь выбрасывает исключение ValueError, если в параметр from_encoding передана недопустимая кодировка. |
8.0.0 | Теперь параметр from_encoding может принимать значение null . |
7.2.0 | Функция теперь также принимает массив (array) как параметр string . Ранее поддерживались только строки (string). |
Пример #1 Пример использования функции mb_convert_encoding()
<?php
$str = mb_convert_encoding($str, "SJIS");
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>