Finalement j'ai résolu en moins de 10 minutes le problème de façon pragmatique, pour le parc et les historiques.
Puisque World Company nous impose maintenant de l'UTF-8 au nom de la mondialisation, j'ai mis les pages HTML en UTF-8 et transcodé en UTF-8 les textes issus de la base de données (impossible de la modifier, ce serait un travail gigantesque).
Il y a en PHP une fonction qui va bien, utf8_encode(). Ce n'est pas le plus élégant mais ça a le mérite de fonctionner de façon robuste.
Il subsiste certainement quelques cas qui m'ont échappé, merci de me les signaler