Depende do que realmente é o problema...
Se é que esses caracteres são supostos para estar lá (como "Mañana" em espanhol), você precisará garantir que tudo esteja em UTF-8 ... a melhor maneira é:
1:verifique se as tabelas do banco de dados estão na codificação "utf-8" (se não, converta-as para utf-8)
2:como Martin observou, verifique se o conector do banco de dados é utf-8 usando algo como:
mysql_set_charset('utf8'); //note that MySQL uses no hyphen here
3:verifique se o documento é utf-8 (você pode adicionar um cabeçalho na parte superior)
<?php header('Content-type:text/html;charset=utf-8'); ?>
4:apenas para garantir, adicione-o como uma meta tag também
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
ENTÃO
É bem possível que você tenha alguns caracteres duff no banco de dados onde algo como ISO-8859-1 tenha sido manipulado para UTF-8, mal. Nesse caso, você notará coisas como £ onde o que você realmente quer é £ (como os caracteres UTF-8 contêm mais dados do que os caracteres ISO-8859-1, esses dados extras podem se tornar um caractere adicional se você não tomar cuidado).
Nesse caso, sua melhor aposta é limpar o banco de dados (você provavelmente poderia fazer algo como
UPDATE table SET field = REPLACE(field, '£', '£')
para "erros" comuns e, em seguida, converta todo o kaboodle para UTF-8 (conforme descrito acima) para evitar a recorrência do problema.