effectivement si le changement d'encodage ne fonctionne pas, c'est vers la fonction htmlentities que tu dois te tourner(au niveau de l'enregistrement des données). Cette fonction transforme en equivalent HTML tous les caractères spéciaux(& " ' > < é è ...).
Les deux solutions à essayer...