Ho aggiunto la parte che riguarda il PDO, ma senza notare alcun miglioramento.
Codice PHP:
 $dbh = new PDO("mysql:host=$db_host;dbname=$db_name;charset=utf8"$db_username$db_password, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET CHARACTER SET utf8'));
$dbh->query('SET CHARACTER SET utf8'); 
Ho impostato tutto (database, pagine web) a utf8, ma il problema persiste.