D'après votre description du problème, les données de votre base de données sont très certainement codées en tant que Windows-1252 et il est presque certain que votre page est servie en tant que ISO-8859-1 . Ces deux jeux de caractères sont équivalents, sauf que Windows-1252 comporte 16 caractères supplémentaires qui ne sont pas présents dans ISO-8859-1, y compris les guillemets à gauche et à droite.
En supposant que mon analyse soit correcte, la solution la plus simple est de servir votre page sous Windows-1252. Cela fonctionnera parce que tous les caractères qui sont dans ISO-8859-1 sont aussi dans Windows-1252. En PHP, vous pouvez modifier l'encodage comme suit :
header('Content-Type: text/html; charset=Windows-1252');
Cependant, vous devriez vraiment vérifier le codage des caractères que vous utilisez dans vos fichiers HTML et le contenu de votre base de données, et veiller à être cohérent, ou convertir correctement si ce n'est pas possible.