Ciao, ho il solito dannato problema con l'UTF-8 ( scusate )

Ho un database mysql che prima era in latin1_swedish_ci e che ora ho convertito in utf8_unicode_ci ( l'ho fatto con phpmyadmin sia sul database sia su ogni singola tabella utilizzando il comando ALTER TABLE/DATABASE nometabellaodatabase DEFAULT CHARSET ecc.. ).

Dopodiche ho una semplice pagina php in UTF-8 ( ho salvato il file in utf-8, utilizzo la funzione header di php e utilizzo il tag meta per specificare che il charset è UTF-8... ) che prende dei dati dal suddetto database:
Codice PHP:
<?php header('Content-type: text/html; charset=utf-8'); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>


<?php eval($RISULTATO_DI_UNA_QUERY_A_MYSQL); ?></p>


èèèééééççççòòòòòùùùùù</p>
</body>
</html>
Come vedete ci sono due paragrafi: uno coi dati presi dal database di prima e l'altro con del testo già contenuto all'interno del file.
Mentre i caratteri del secondo paragrafo compaiono correttamente, nel paragrafo preso dal ldatabase i caratteri speciali vengono sostituiti da un ?, più precisamente da un rombo con un ? in mezzo
Molto ingenuamente mi sono detto: avrò sbagliato qualcosa nel convertire il database, chissenefrega, usiamo l'output buffering insieme a utf8_encode!
Così facendo i dati del database vengono stampati correttamente ma ora sono i caratteri del secondo paragrafo ad essere completamente sballati!
Al posto di èèèééééççççòòòòòùùùùù
compare èèèééééççççòòòòòùùùùù

La domanda insomma è: é normale che i dati dal database debbano essere convertiti sempre con uff8_encode? O come credo sia più probabile ho sbagliato qualcosa nel convertire il database?
Se invece mi devo rassegnare a utilizzare utf8_encode, come faccio a fare in modo che l'output che è già in UTF-8 non venga ulteriormente modificato?