Quando a tabela e as colunas já estão configuradas para UTF8, assim como o HTML, porém, ainda é possível ver caracteres estranhos no HTML em partes de dados vindo de um banco MySQL, a solução pode ser modificar a inicialização do PDO, como no código abaixo:
$options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' ); $DB = new PDO($conn_str, $dbuser, $dbpass,$options);
E pronto! O problema deve estar resolvido
Caso queira converter uma tabela para o UTF8, utilize esta dica.
Caso queira converter um campo para o UTF8, veja como nesta dica.