Bonjour,
Je me permets de poster un message pour vous soumettre un problème qui me turlupine depuis déjà quelques semaines et auquel je ne trouve aucune réponse.
J'administre un serveur dédié sous Fedora Core 4 (oui c'est déjà une très ancienne distro, mais pour l'instant, je ne peux pas en changer) sur lequel il y a Plesk et un serveur LAMP (php 5.2.6, mysql 5.0 et apache2) et un bon nombre d'applications, dont une qui me pose un problème depuis quelques temps : WikindX dans sa dernière version.
Cette application, qui permet de gérer des bibliographies collaboratives, est écrite en php4 et encodé en UTF8. La base est interclassée en latin-swedish. Dans la configuration d'apache, j'ai indiqué un AddDefaultCharset à ISO-8859-1 pour les autres applications, et j'ai un htaccess avec la même directive mais cette-fois ci prenant la valeur UTF8 dans le dossier racine de wikindx.
Tout fonctionnait à merveille depuis quelques années maintenant jusqu'à récemment. Le récemment, c'est il y a un mois à peu près. Cela correspond à aucune mise à jour particulière ni incident d'aucun genre. Bref, une bizarrerie car depuis ce temps, tous les caractères spéciaux (accents, etc.) ne s'affichent plus correctement. Les navigateurs détectent bien l'encodage (UTF-8) mais affichent de l'ISO (é et j'en passe). Problème (et c'est là où j'en perds mon latin1) : quand je recharge la page par le navigateur, les accents reviennent et tout s'affiche normalement, mais parfois non. Quand je reload la conf d'apache, le problème disparaît, puis revient. Comme j'ai une bonne dizaine de ces applications installées, çà commence à faire minable.
J'ai pourtant tout vérifié, la conf d'apache, php.ini ou le default_charset n'est pas défini (je préfère passer par un htaccess), j'ai vérifié également les htaccess qui ne présentent pas de problème particulier, l'encodage des scripts est en UTF8, de plus seules les installations de wikindx sont touchées (j'ai des CMS aussi mais qui ne sont pas affectés), j'ai vérifié les templates de wikindx mais la balise meta charset est présente, bref, j'ai beau tout revoir, tout relancé, tout vidé les caches, rien n'y fait le problème reste entier. J'ai refait des installations propres sur le même serveur en modifiant l'encodage au niveau de la base mysql (interclassement en UTF8), toujours pareil. La même installation par défaut sur un MAMP, je n'ai pas de problème.
Le plus drôle, si je puis dire, c'est le comportement bizarroïde de l'application. Car une fois sur deux çà fonctionne, mais pas tout le temps donc, quand je relance apache, c'est nickel, puis 10 minutes après çà recommence. Peu importe le navigateur, le comportement est le même partout. C'est comme si les entêtes HTTP ne passaient pas, du moins une fois sur deux. Autre problème : Cela affecte évidemment toutes les fonctionnalités du logiciel, partie publique, admin, les formulaires de recherche, le flux rss, etc…
Après coup, je me dis que çà vient de mysql, mais comme j'ai fait pas mal de test et de modification au niveau de l'encodage, je ne suis plus sûr du diagnostic. Si vous avez quelques minutes à m'accorder pour me filer un petit coup de main, je suis preneur.
Je vous sers une pogne.
sdj
Partager