Saltar al contenido

utf8_encode()

La función utf8_encode() es una función incorporada de PHP que convierte una cadena de la codificación ISO-8859-1 a UTF-8. Es útil cuando necesitas mostrar o procesar texto en ISO-8859-1 en un sistema que solo admite UTF-8, garantizando que los caracteres se representen correctamente.

Sintaxis

La sintaxis de la utf8_encode() función es la siguiente:

sintaxis de la función utf8_encode()

php
utf8_encode($string)

Donde $string es la cadena codificada en ISO-8859-1 que deseas convertir a codificación UTF-8.

Ejemplos de uso

Veamos algunos ejemplos prácticos del uso de utf8_encode() en PHP.

Ejemplo 1: Conversión de texto codificado en ISO-8859-1 a UTF-8

Supongamos que tienes una cadena con codificación ISO-8859-1 que deseas convertir a codificación UTF-8. Puedes usar la función utf8_encode() para hacerlo, de la siguiente manera:

Conversión de texto codificado en ISO-8859-1 a UTF-8

php
<?php
// Note: This example assumes the PHP source file is saved in ISO-8859-1.
// If your editor saves files as UTF-8 by default, utf8_encode() will double-encode the string.
$text = "Café au lait";
$utf8_text = utf8_encode($text);
echo $utf8_text;
?>

Este código define una variable de cadena $text con el texto codificado en ISO-8859-1 "Café au lait". Luego, utiliza la función utf8_encode() para convertir el texto a codificación UTF-8 y almacena el resultado en una nueva variable $utf8_text. Finalmente, imprime el texto codificado en UTF-8 en la consola.

Ejemplo 2: Conversión de texto codificado en ISO-8859-1 desde XML

Supongamos que tienes un archivo XML con texto codificado en ISO-8859-1 que deseas leer y convertir a codificación UTF-8. Puedes usar la biblioteca SimpleXML de PHP para leer el archivo XML y la función utf8_encode() para convertir el texto, de la siguiente manera:

Conversión de texto codificado en ISO-8859-1 desde XML

php
<?php
$xml = simplexml_load_file("data.xml");
foreach ($xml->item as $item) {
  $title = utf8_encode($item->title);
  $description = utf8_encode($item->description);
  echo "$title: $description\n";
}
?>

Este código carga un archivo XML "data.xml" utilizando la función simplexml_load_file() e itera sobre cada elemento <item> mediante un bucle foreach. Dentro del bucle, utiliza la función utf8_encode() para convertir el texto codificado en ISO-8859-1 de los elementos <title> y <description> a codificación UTF-8, y almacena los resultados en dos nuevas variables $title y $description. Finalmente, imprime el texto codificado en UTF-8 en la consola.

Nota: utf8_encode() está obsoleta en PHP 8.2. Para aplicaciones modernas, considera usar mb_convert_encoding($string, 'UTF-8', 'ISO-8859-1') o iconv('ISO-8859-1', 'UTF-8', $string) para una mejor compatibilidad multiplataforma y un manejo explícito de la codificación.

Conclusión

En este artículo, hemos discutido la función utf8_encode() de PHP y cómo se puede utilizar para convertir texto codificado en ISO-8859-1 a UTF-8. Hemos explicado qué hace la función, su sintaxis y proporcionado ejemplos de cómo puede usarse en escenarios prácticos. Siguiendo estos ejemplos, puedes asegurarte de que tus datos de texto estén correctamente codificados para aplicaciones web modernas.

Práctica

¿Cuál es el propósito de la función utf8_encode() en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.