(PHP 4, PHP 5, PHP 7, PHP 8)
utf8_decode — Convierte un string desde UTF-8 a ISO-8859-1, sustituyendo los caracteres no válidos o no representables
Esta función convierte el string string desde la
codificación UTF-8 a ISO-8859-1. Los bytes
del string que no son UTF-8 válidos, y los
caracteres UTF-8 que no existen en
ISO-8859-1 (es decir, los puntos de código superiores
a U+00FF) se sustituyen por ?.
Nota:
Muchas páginas web marcadas con la codificación de caracteres
ISO-8859-1utilizan en realidad la codificación similarWindows-1252, y los navegadores web interpretarán las páginas webISO-8859-1comoWindows-1252.Windows-1252presenta caracteres imprimibles adicionales, como el signo del euro (€) y las comillas rizadas (“”), en lugar de ciertos caracteres de control deISO-8859-1. Esta función no convertirá correctamente estos caracteres deWindows-1252. Utilice una función diferente si se requiere la conversión deWindows-1252.
stringUn string codificado en UTF-8.
Devuelve la traducción ISO-8859-1 del string.
| Versión | Descripción |
|---|---|
| 7.2.0 | Esta función ha sido trasladada de la extensión XML al núcleo de PHP. En versiones anteriores, sólo estaba disponible si la extensión XML estaba instalada. |
Ejemplo #1 Ejemplos básicos
<?php
// Convertir el string 'Zoë' desde UTF-8 a ISO 8859-1
$utf8_string = "\x5A\x6F\xC3\xAB";
$iso8859_1_string = utf8_decode($utf8_string);
echo bin2hex($iso8859_1_string), "\n";
// Las secuencias UTF-8 no válidas se sustituyen por '?'
$invalid_utf8_string = "\xC3";
$iso8859_1_string = utf8_decode($invalid_utf8_string);
var_dump($iso8859_1_string);
// Los caracteres que no existen en ISO 8859-1, como
// '€' (signo del euro) también se sustituyen por '?'
$utf8_string = "\xE2\x82\xAC";
$iso8859_1_string = utf8_decode($utf8_string);
var_dump($iso8859_1_string);
?>El resultado del ejemplo sería:
5a6feb string(1) "?" string(1) "?"