array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.mb-convert-encoding.php', 1 => 'mb_convert_encoding', ), 'up' => array ( 0 => 'ref.mbstring.php', 1 => 'Функции для работы с многобайтовыми строками', ), 'prev' => array ( 0 => 'function.mb-convert-case.php', 1 => 'mb_convert_case', ), 'next' => array ( 0 => 'function.mb-convert-kana.php', 1 => 'mb_convert_kana', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/mbstring/functions/mb-convert-encoding.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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");
?>