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() - Перетворює рядок з одного кодування символів на інший