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:

$pdo = new PDO(
     'mysql:host=mihost;dbname=mibd',
     'miusuario',
     'miclave',
     array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);

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

Agradezco tu comentario 🤘