(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) значения будут рекурсивно преобразованы.
stringto_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");
?>