In un certo senso dipende da quale sia effettivamente il problema...
Se è che quei caratteri sono presunti per essere lì (come "Mañana" in spagnolo), dovrai assicurarti che tutto sia in UTF-8... il modo migliore è:
1:verifica che le tabelle del database siano nella codifica "utf-8" (in caso contrario convertile in utf-8)
2:come ha notato Martin, assicurati che il connettore del database sia utf-8 usando qualcosa come:
mysql_set_charset('utf8'); //note that MySQL uses no hyphen here
3:assicurati che il documento sia utf-8 (puoi aggiungere un'intestazione in alto)
<?php header('Content-type:text/html;charset=utf-8'); ?>
4:per sicurezza, aggiungilo anche come meta tag
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
COMUNQUE
È del tutto possibile che tu abbia dei caratteri duff nel database in cui qualcosa come ISO-8859-1 è stato manipolato male in UTF-8. In questo caso noterai cose come £ dove quello che vuoi effettivamente è £ (poiché i caratteri UTF-8 contengono più dati dei caratteri ISO-8859-1, quei dati extra possono diventare un carattere aggiuntivo se non stai attento).
In tal caso la soluzione migliore è pulire il database (probabilmente potresti fare qualcosa come UPDATE table SET field = REPLACE(field, '£', '£')
per "errori comuni") e quindi convertire l'intero kaboodle in UTF-8 (come descritto sopra) per evitare che il problema si ripresenti.