connecté
Bonjour à tous
Je suis en train d'écrire en PHP un programme d'administration du site qui permette d'effectuer des modifications sur l'ensemble des 1000 pages HTML lorsque cela est nécessaire
La logique de ce programme est la suivante:
1) charger le fichier HTML dans un objet DOMDocument par le code suivant:

$tdom = new DOMDocument('1.0', 'utf-8');
$errorReporting = error_reporting(E_ALL & ~E_WARNING);
$dom -> loadHTMLFile($filePath);
error_reporting($errorReporting);

(error_reporting, car la fonction loadHTMLFile() envoie des warning sur les balises HTML5)
2) effectuer des modifications sur le DOM
3) écrire le résultat par le code

$htmlText = "<!DOCTYPE html>\n" . $dom -> saveHTML($dom -> documentElement);
file_put_contents($filePath, $htmlText);

(on ne peut pas utiliser directement $dom -> saveHTMLFile() car cette fonction transforme les caractères UTF-8 en entités html

Cette structure de programme fonctionne de façon satisfaisante, mais je viens de décourir par hasard le phénomène suivant:
Le fichier origine contient des caractères &bull; [•] exprimés sous la forme &#149;
Lorsque j'examine le DOM, ces caractères sont transformés un caractère qui s'affiche ? et en regardant le code de ce caractère, sa valeur est 194 et non 149
Auriez vous une idée sur les raisons de ce phénomène?
Merci pour vos avis
connecté
Le mystère s'épaissit:
Si je lis le fichier en local sur le PC par Notepad++ j'ai le texte
&#149; Corridors d'entrée et escaliers (A-D) : non décorés.

Par contre si je lis ce fichier en PHP par
$htmlText = file_get_contents($filePath);

je constate que le code du caractère en cause est 194
Le phénomène n'est donc pas lié à l'utilisation du DOM mais directement au système de fichiers d'Apache
???????