Ah, d'accord. Vous avez pointé mon dans la bonne direction. Ce qui était à venir était des entités Windows. Les gens mettent des choses dans notre base de données dans une série complexe d'étapes de conversion de Word, à InDesign, à GoLive (oui, c'est douloureux). Quoi qu'il en soit, ce que la base de données faisait ressortir était ces entités comme '& # 146;', ce qui signifie quelque chose que je devine à Windows, mais rien à mon navigateur, en ISO-8859-1 ou UTF-8, donc aucune modification de l'encodage de ma page ne pourrait corriger cette absurdité. Bien que, curieusement, il est juste apparu ici correctement, donc je ne sais pas ce que je fais mal.
Donc de toute façon, je l'ai réparé en faisant tout passer par cette fonction php avant de l'afficher.
function fixChars($text){
// Next, replace their Windows-1252 equivalents.
$text = str_replace(
array('‘', '’', '“', '”', '•', '—', '…'),
array("'", "'", '"', '"', '-', '--', '...'),
$text);
return $text;
}
Donc, maintenant les choses semblent bien.
Merci pour la direction tous.
c'est un encodage UTF. Vérifiez le type d'encodage sur le document XML. – jcolebrand