Descripción del problema
Lo que me ocurría era lo siguiente: al trabajar con codificación “utf8″
y recortar los strings mediante “substr()” el substring resultante
no se mostraba correctamente en el navegador.
Solución
Sustituir “substr()” por “mb_substr()”
que es una implementación multi-byte segura de “substr()”.
Sintaxis de “substr()”:
string substr ( string $cadena , int $comienzo [, int $longitud ] )
Sintaxis de “mb_substr()”:
string mb_substr ( string $cadena , int $comienzo [, int $longitud [, string $codificación ]] )
Ejemplo
$descripcion = mb_substr($descripcion, 0, 11, utf8);
Fuentes

Gracias por este gran post, me ha salvado la vida :-D , ya estaba tirándome de los pelos de ver que no me aparecían bien las cadenas que cortaba… :-D