Bonjour à tous,
Je poste mon problème dans la section serveur apache, car je suppose que l'erreur ne vient ni du php, du html, ni du mysql. (Mais je peux me tromper).
J'expose donc mon problème :
- Mes pages html utilisent le charset UTF-8
- Ma base de données utilise l'interclassement UTF8_unicode_ci
- Les champs de ma BDD idem
- Mes fichiers sont enregistrés en utf8 (sous linux avec Quanta)
Les données extraites de la base de données sont bonnes (présence des accents). Les données écrites en dur dans mon HTML quand à elles ne sont pas correctement encodées (caractères bizarre).
Voici la source d'erreur : http://www.les-bons-cotes-de-marseille.fr
Vous voyez le mot "Flâner", il est extrait de la BDD et est écrit correctement.
Par contre, en fond gris, "Les bons côtés de marseille" est carrément anarchique (données en dur dans le code HTML)
De plus aucun navigateur (que ce soit le mien, ou ceux des autres personnes) ne détecte la page comme de l'UTF8. Si votre navigateur est en détection automatique, aller dans affichage/encodage... et je suis sur qu'il vous dira qu'il lit la page en iso
Le validateur w3c me ditDonc en gros : "ton header, c'est de l'iso, mais tu dis utiliser de l'UTF8". Et c'est bien la première fois que cette chose m'arrive.The character encoding specified in the HTTP header (iso-8859-15) is different from the value in the <meta> element (utf-8). I will use the value from the HTTP header (iso-8859-15) for this validation.
Donc ma question : est-il possible que le serveur web (celui de mon prestataire) ait un soucis dans sa configuration ? C'est du Apache2, sous php5 et mysql5.
Je n'ai jamais eu de problème ni en local, ni chez mon ancien hébergeur.
Mais peut être dans ma migration ai-je fais une erreur.
A votre avis ?
Merci à tous et bonne journée.
Partager