Renewing Experiences

Blog sobre electrónica, programación y alguna cosa más

lunes, 18 de noviembre de 2013

Convertir ISO-8859-1 a UTF-8 con PHP

En este articulo, vamos a hablar de un problema común entre los desarrolladores Junior en PHP cuando tratan por primera vez con bases de datos.

Este problema es que MySQL no comprende algunos caracteres latinos como acentos o nuestra querida "ñ"; aunque si hiciésemos consultas a la base de datos desde el cliente parece que si las conoce. Eso es debido a que MySQL utiliza el charset ISO-8859-1 por defecto y no UTF-8.

En internet encontraréis soluciones que indican que para evitar esto cuando almacenes datos en la base de datos y tengas que escribir uno de estos símbolos recurras a escribir en su lugar cosas como %aob, y después con PHP que los corrijamos y sustituyamos por "á".

No es necesario pasar tanto trabajo, debido a que PHP ya tiene una función que se encarga de esto.

Si tuviésemos el correspondiente valor de la base de datos en la variable $data, para corregir el problema solo necesitaríamos utilizar:

echo utf8_encode($data);

Con esto todos nuestros problemas se habrían solucionado.

No hay comentarios:

Publicar un comentario

Ultimos Posts