Försök att anropa mysql_set_charset('utf8');
efter anslutning till databasen. Jag tror att det liknar att köra en SET NAMES-fråga, men eftersom PHP-manualen säger att det rekommenderas att använda den funktionen över en SET NAMES-fråga, skulle jag prova det.
När du visar ditt innehåll kan du också prova echo htmlentities($string, ENT_COMPAT, 'UTF-8');