utf8_encode
Преобразовывает строку из кодировки ISO-8859-1 в кодировку UTF-8
&warn.deprecated.function-8-2-0;
&reftitle.description;
#[\Deprecated]
stringutf8_encode
stringstring
Функция преобразовывает строку string из кодировки
ISO-8859-1 в кодировку UTF-8.
Функция не пытается угадать текущую кодировку предоставленной строки, а предполагает,
что строку закодировали в кодировке ISO-8859-1 (которую также знают как Latin 1) и преобразовывает строку в кодировку UTF-8.
Поскольку каждая последовательность байтов — корректная строка в кодировке ISO-8859-1,
это никогда не приводит к ошибке, но не приведёт к получению полезной строки,
если предполагалась другая кодировка.
Часто веб-страницы, которые отметили как страницы в кодировке
ISO-8859-1, кодируются похожей кодировкой —
Windows-1252, и браузеры интерпретируют
страницы в кодировке ISO-8859-1 как страницы в кодировке Windows-1252.
Однако кодировка Windows-1252 вместо управляющих кодов
кодировки ISO-8859-1 содержит дополнительные печатные
символы наподобие знака евро € и английских двойных кавычек
“ ”. Функция не конвертирует такие символы
кодировки Windows-1252 корректно. Для конвертации в кодировку
Windows-1252 пользуются альтернативными функциями.
&reftitle.parameters;
string
Строка в кодировке ISO-8859-1.
&reftitle.returnvalues;
Функция возвращает строку string, которую преобразовала в кодировку в UTF-8.
&reftitle.changelog;
&Version;
&Description;
8.2.0
Функция устарела.
7.2.0
Функцию перенесли из модуля XML в ядро PHP.
В предыдущих версиях функция была доступна только при установленном модуле XML.
&reftitle.examples;
Простой пример преобразования строки из кодировки ISO-8859-1 в кодировку UTF-8
]]>
&example.outputs;
&reftitle.notes;
Устаревание и альтернативы
Начиная с PHP 8.2.0 функция устарела и её удалят в будущей версии.
Разработчики языка рекомендуют заменить вызовы функции в коде альтернативами.
Аналогичную функциональность даёт функция mb_convert_encoding,
которая поддерживает кодировку ISO-8859-1 и набор других кодировок символов.
]]>
&example.outputs;
Другие способы, доступность которых зависит от загруженных модулей, —
метод UConverter::transcode и функция iconv.
Каждый следующий способ даёт один и тот же результат:
]]>
&example.outputs;
&reftitle.seealso;
utf8_decode
mb_convert_encoding
UConverter::transcode
iconv