Essayez d'appeler mysql_set_charset('utf8');
après connexion à la base de données. Je pense que c'est similaire à l'exécution d'une requête SET NAMES, mais comme le manuel PHP indique qu'il est recommandé d'utiliser cette fonction sur une requête SET NAMES, je l'essayerais.
De plus, lorsque vous affichez votre contenu, vous pouvez essayer echo htmlentities($string, ENT_COMPAT, 'UTF-8');