(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
.
Также можно указать необязательный параметр from_encoding
.
Если string
является массивом (array),
все его строковые (string) значения будут преобразованы рекурсивно.
string
Строка (string) или массив (array), для преобразования.
to_encoding
Требуемая кодировка результата.
from_encoding
Текущая кодировка, используемая для интерпретации строки string
.
Несколько кодировок могут быть указаны в виде массива (array) или в виде строки через запятую,
в этом случае правильная кодировка будет определена по тому же алгоритму,
что и в функции mb_detect_encoding().
Если параметр from_encoding
опущен или равен null
,
то будет использоваться mbstring.internal_encoding setting,
если она установлена, иначе кодировка по умолчанию.
Допустимые значения to_encoding
и from_encoding
указаны на странице поддерживаемые кодировки.
Преобразованная строка (string) или массив (array) или false
в случае возникновения ошибки.
Начиная с PHP 8.0.0, если значение to_encoding
или
from_encoding
является недопустимой кодировкой, выбрасывается ValueError.
До PHP 8.0.0 вместо этого выдавалась ошибка уровня E_WARNING
.
Версия | Описание |
---|---|
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");
?>