Par défaut, apache insère une entête indiquant l'utilisation d'UTF-8 (qui n'est pas spécifique à notre si belle langue, ce serait plutôt l'iso-8859-15, mais bien universel).
Ton problème semble bien lié à l'affichage de caractère iso-8859-15 (stocké dans ta BD) dans une page UTF-8.
Le conseil de VINDICATORs est a suivre, mais :
1/ si tu veux rester en ISO-8859-15 désactive la directive d'apache
AddDefaultCharser UTF-8
Elle passe en effet au dessus du contenu des pages.
2/ sinon convertie ta BD en UTF-8.
- vidage (mysqldump)
- modification des ordres de création CHARACTER SET latin1 -> CHARACTER SET utf8)
- rechargement (mysql)
Bien sur tu peux recharger dans une autre BD pour vérifier le bon fonctionnement de ton site avant de basculer.
A+