array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.utf8-decode.php', 1 => 'utf8_decode', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Funciones de strings', ), 'prev' => array ( 0 => 'function.ucwords.php', 1 => 'ucwords', ), 'next' => array ( 0 => 'function.utf8-encode.php', 1 => 'utf8_encode', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/strings/functions/utf8-decode.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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-1
utilizan en realidad la codificación similarWindows-1252
, y los navegadores web interpretarán las páginas webISO-8859-1
comoWindows-1252
.Windows-1252
presenta 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
.
string
Un 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) "?"