utf8_decode
(PHP 4, PHP 5, PHP 7, PHP 8)
utf8_decode — Перетворює рядок із кодування UTF-8 на кодування ISO-8859-1, замінюючи неприпустимі або непредставлені символи
Увага
Функція оголошена застарілої починаючи з PHP 8.2.0. Використовувати цю функцію не рекомендується.
Опис
utf8_decode(string $string): string
Функція перетворює рядок string
из кодировкиUTF-8
у кодування ISO-8859-1
. Байти у рядку, які не відповідають коректним символам UTF-8
и символамUTF-8
, які не існують у ISO-8859-1
(тобто кодові точки вище U+00FF
), будуть замінені на символ ?
Зауваження :
Багато веб-сторінок, зазначених як кодування
ISO-8859-1
, насправді використовують схоже кодуванняWindows-1252
, та веб-браузери інтерпретують сторінкиISO-8859-1
якWindows-1252
. ОднакWindows-1252
містить додаткові друковані символи, такі як символ Євро (€
) та фігурні лапки (“
”
) вместо управляющих кодовISO-8859-1
. Ця функція не конвертує такі символиWindows-1252
корректно. Используйте другую функцию, если нужна конвертация вWindows-1252
Список параметрів
string
Рядок, закодований в UTF-8.
Значення, що повертаються
Повертає дані параметра string
, переведені на кодування ISO-8859-1.
список змін
Версия | Опис |
---|---|
8.2.0 | Функцію оголошено застарілою. |
7.2.0 | Функцію було перенесено з модуля XML в ядро PHP. У попередніх версіях вона була доступна лише за встановленого модуля XML. |
Приклади
Приклад #1 Простий приклад
Loading...
Результат виконання наведеного прикладу:
5a6feb
string(1) "?"
string(1) "?"
Примітки
Зауваження Застаріння та альтернативи
Функциязастарілапочинаючи з PHP 8.2.0 і буде видалена в майбутній версії. Існуючі варіанти використання повинні бути перевірені та замінені відповідними альтернативами.
Аналогічної функціональності можна досягти за допомогою функції mb_convert_encoding(), яка підтримує ISO-8859-1 та багато інших кодування символів.
Loading...Результат виконання наведеного прикладу:
eb eb 80
Інші опції, які можуть бути доступні в залежності від встановлених модулів: UConverter::transcode() і iconv()
Всі наступні варіанти дають той самий результат:
Loading...Результат виконання наведеного прикладу:
5a6feb 5a6feb 5a6feb 5a6feb
Указание
'?'
як опція'to_subst'
в методеUConverter::transcode() дає той самий результат, що і функція utf8_decode() для рядків, які є неприпустимими або не можуть бути подані ISO 8859-1. Loading...Результат виконання наведеного прикладу:
sring(1) "?"
Дивіться також
- utf8_encode() - Перетворює рядок із ISO-8859-1 на UTF-8
- mb_convert_encoding() - Перетворює рядок з одного кодування символів на інший
- UConverter::transcode() - Перетворює рядок з одного кодування символів на інший
- iconv() - Перетворює рядок з одного кодування символів на інший