cette fonction est utilisée 43 fois avec ces paramètres
htmlspecialchars($contents,ENT_COMPAT|ENT_HTML401,cur_charset);
//===> a revoir car quand le fichier ou la chaîne d'entrée string contient une séquence de code invalide dans le paramètre encoding fourni, une chaîne vide sera retournée à moins que le drapeau ENT_IGNORE ou le drapeau ENT_SUBSTITUTE ne soit défini ...
nous avons eu le cas (site en utf8) pour l'édition des fichiers de config qui sont en iso (donc des qu'un accent est rencontré == retour vide ... (et lors de manipulations dans la base ...)
cette correction semble approprié ... même en cas de code invalide elle renvoit le contenu ... ce qui a mon sens est préférable...
htmlspecialchars($contents,ENT_COMPAT|ENT_SUBSTITUTE|ENT_HTML401,cur_charset);
En conclusion à discuter et à corriger ...