Intenta llamar a mysql_set_charset('utf8');
después de conectarse a la base de datos. Creo que es similar a ejecutar una consulta SET NAMES, pero dado que el manual de PHP dice que se recomienda usar esa función sobre una consulta SET NAMES, lo intentaría.
Además, cuando muestres tu contenido, puedes probar echo htmlentities($string, ENT_COMPAT, 'UTF-8');