Si usáis PDO y tenéis problemas al imprimir resultados de mysql (que muestren caracteres raros como � en algunos caracteres) es muy probable que no tengas configurado la codificación de caracteres uft-8 en la conexión de la base de datos mysql.

A continuación un ejemplo añadiendo la constante
MYSQL_ATTR_INIT_COMMAND a la conexión de la base de datos con pdo:

Recordar también que:

  • Los archivos php esten codificados en utf-8
  • Las página web tengan el meta charset utf-8
  • Las tablas y bd mysql tengan el cotejamiento utf8