Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Cortar cadenas UTF-8 en PHP

Cuando trabajamos con cadenas en UTF-8 (si queréis más información sobre juegos de caracteres os recomiendo esta entrada: Entender los juegos de caracteres y “collation” I y II que escribí hace tiempo) no podemos usar la función típica para hacer subcadenas de PHP: substr, ya que en el caso de que el corte caiga justo en un carácter no ASCII, habrá un problema en la representación y aparecerá un carácter extraño.

El origen de este problema es que se trata de un juego de caracteres en el que cada carácter no tiene por qué tener un sólo byte de tamaño, si no que puede llegar a ocupar 4 bytes como máximo, es decir, también puede ocupar 2 o 3 bytes.

La solución es utilizar la función que ofrece PHP para estos casos: mb_substr a la que llamaremos de la misma forma, pero pasándole un argumento extra, el tipo de codificación utilizada, por ejemplo UTF-8:

Como véis, podéis elegir además de UTF-8 otros juegos de caracteres.

Leer entrada anterior
Hacer backup y restaurar copia de seguridad con MySQL

Siempre que manejamos una base de datos, uno de los detalles más a tener en cuenta es la recuperación de...

Cerrar