To trochę zależy, na czym właściwie polega problem...
Jeśli chodzi o to, że te postacie są domniemane aby tam być (np. „Mañana” po hiszpańsku), musisz upewnić się, że wszystko jest w UTF-8... najlepszym sposobem jest:
1:sprawdź, czy tabele bazy danych są w kodowaniu "utf-8" (jeśli nie, przekonwertuj je na utf-8)
2:jak zauważył Martin, upewnij się, że złącze bazy danych to utf-8, używając czegoś takiego:
mysql_set_charset('utf8'); //note that MySQL uses no hyphen here
3:upewnij się, że dokument jest w utf-8 (możesz dodać nagłówek na górze)
<?php header('Content-type:text/html;charset=utf-8'); ?>
4:aby być po bezpiecznej stronie, dodaj go również jako metatag
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
JEDNAK
Całkiem możliwe, że masz w bazie danych kilka duffowych znaków, w których coś takiego jak ISO-8859-1 zostało źle żonglowane do UTF-8. W takim przypadku zauważysz takie rzeczy jak £ gdzie tak naprawdę chcesz to £ (ponieważ znaki UTF-8 zawierają więcej danych niż znaki ISO-8859-1, te dodatkowe dane mogą stać się dodatkowym znakiem, jeśli nie będziesz ostrożny).
W takim przypadku najlepszym rozwiązaniem jest wyczyszczenie bazy danych (prawdopodobnie możesz zrobić coś takiego jak UPDATE table SET field = REPLACE(field, '£', '£')
dla typowych "błędów"), a następnie przekonwertuj cały kaboodle na UTF-8 (jak opisano powyżej), aby uniknąć powtarzania się problemu.