(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
/* Преобразовывает строку в кодировку SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Преобразовывает из кодировки EUC-JP в кодировку UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Автоматически определяется кодировка среди JIS, eucjp-win, sjis-win, затем преобразовывается в UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* Если директива mbstring.language равна "Japanese", значение кодировки "auto" будет расширено до "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>