[RESOLU] Un carctère étrange et étranger - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html) +--- Sujet : [RESOLU] Un carctère étrange et étranger (/thread-3159.html) |
[RESOLU] Un carctère étrange et étranger - bobjo - 24/03/2014 Bonjour, Sur un site j'utilise un bloc de contenu pour construire le header des pages. Ce bloc appel le menu. Lorsque je suis sur la page d'accueil du site j'ai ce caractère : "·" qui ce met sur le chevron ouvrant de la première balise html du menu. J'ai regardé dans les fichiers de cache et dans la base de données si je trouvais ce caractère, mais rien. Il n'existe pas dans mon code.... Je sais même pas ce que c'est comme caractère. Mon problème est que ce caractère déplace le menu est me fait sauter ma mise en page. Je met les appels aux différents blocs : 1 - Appel au bloc de contenu global dans le gabarit de ma page pour construire le header Code : [== HTML ==] 2 - Appel le menu dans le bloc de contenu global Code : [== HTML ==] 3 - Début du gabarit menu Code : [== HTML ==] Donc ce caractère ce place tous seul sur le chevron ouvrant de la balise div qui pour classe menuwrapper...... Si vous avez une idée. Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 24/03/2014 Salut, merci de donner les informations demandées et surtout un lien vers la page du problème. [RESOLU] Un carctère étrange et étranger - bobjo - 24/03/2014 Bonjour Jean, Merci de prendre du temps. Quelle sont les informations demandées ? Si ce sont les infos de cmsms elles ne m'ont pas été demandées à l'ouverture du topic. Pour un lien vers le site voila : http://www.machines-outils-vamo.com Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 24/03/2014 Bizarre ! Je ne vois pas ton caractère sur la page d'accueil (Firefox et chrome). Le code source de la page m'indique que ton gabarit de menu est farci d'espaces impromptues. Passe-le dans notepad et nettoie-le, il y a peut-être un caractère caché. [RESOLU] Un carctère étrange et étranger - bobjo - 24/03/2014 Oui ce caractère n'apparait pas sur le site. Pour le voir il faut afficher le code source de la page. Le copier et le coller dans notepade++ dans fichier de type html je met la ligne à la quelle on trouve ce caractère dans la code source : ligne 154. J'ai passé ce caractère dans la fonction htmlentities et htmlspecialchars les deux m'ont sortie : · Je vais voir si je trouve à quoi ça correspond. Merci encore Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 24/03/2014 Je pense que tu as encodé le gabarit de menu avec UTF au lieu d'utiliser UTF8 (sans Bom) dans ton notepad. Le caractère est Et je pense également que tu devrais repasser TOUS tes gabarits en UTF8 sans bom sinon ton site risque d'être en mode quirks (adieu IE anciennes versions), on ne sait jamais. Ce serait également bien que tu rajoutes la ligne de copyright du cms sur le site de ta société. [RESOLU] Un carctère étrange et étranger - bobjo - 25/03/2014 Bonjour, Merci encore Jean de prendre du temps pour me répondre. J'ai suivi vos conseils. J'ai passé tous mes gabarits en UTF-8. Mais cela ne change rien au problème... Le caractère est toujours là. J'ai passé les gabarits sur une version en local. Le caractère est toujours présent. Donc cela viens bien des gabarits. J'ai modifié le contenu de mon gabarit de menu en ne mettant que : "<!-- -->". Le caractère est toujours là. J'ai appelé un autre gabarit de menu (un gabarit présent à l'installation). Pareil... J'ai également modifié l'appel du gabarit de ma page en prenant un également présent à l'installation Pareil, le caractère est toujours là. Donc après tous ces tests cela me laisse penser que : 1 - Le problème viens des gabarits du menu. 2 - Quelle que soit le contenu des gabarits du menu ce caractère apparait. Si vous avez une idée Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 Il faut utiliser UTF8 sans bom et pas UTF8 tout court. Je reste à penser que tu as passé ton gabarit de menu dans notepad++ avec l'encodage UTF8, ce qui place ce caractère tout en haut du code. Maintenant, c'est peut-être un bug du cms, il nous faut donc connaître ta version du cms et du menumanager pour pouvoir vérifier chez nous. [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 Bin voilà, le caractère a disparu Sans doute le cache du navigateur qui gardait ce caractère en mémoire. [RESOLU] Un carctère étrange et étranger - bobjo - 25/03/2014 Le caractère n'a pas disparu. J'ai vidé le cache du navigateur et de cmsms et le caractère est toujours là. Lorsque j'ai passé mes gabarits en UTF-8 c'est sans bom. Je veux bien croire que le gabarit est encodé en autre chose que UTF-8 sans bom, mais j'ai créé un gabarit de menu vide que j'ai placé directement dans le dossier templates du module menuManager. Ce gabarit de menu vide est appelé dans un nouveau gabarit de page qui n'a pas été modifié. Le caractère est toujours présent. La version de cms : en ligne : 1.11.10 en local : 1.11.9 la version de MenuManager : en ligne : 1.8.6 en local : 1.8.6 Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 ligne 154 sous FF et chrome, je n'ai plus le caractère incongru avant <div id="menuwrapper">. preuve : http://www.tutos-pour-cmsmadesimple.be/uploads/images/forum/bom.png Je le voyais avant-midi. Es-tu certain d'avoir bien vidé le cache du navigateur : Ctrl+shift+del ? Par contre le code du menu est toujours bien crade Et n'oublie pas que tout fichier, créé sous notepad++ en UTF8 (avec bom), même vide aura ce caractère en première ligne. [RESOLU] Un carctère étrange et étranger - bobjo - 25/03/2014 Oui j'ai bien vidé le cache (ctrl+shift+del ou historique>supprimer l'historique récent). Je viens de le refaire pour être sur, j'ai toujours le caractère. J'ai fais un autre test en local, je met le code : gabarit de ma page : Code : [== Indéfini ==] gabarit menu_header.tpl : vide contenu de ma page (lorem ipsum) : Code : [== HTML ==] Lorsque je fais ce test le caractère n'est plus là ! Mais si je change le gabarit de ma page en : Code : [== Indéfini ==] [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 Il vient lorsque tu écris la doctype ? Et le caractère se met où ? avant <doctype ou avant la première balise du menu ou celle délimitant le content ? [RESOLU] Un carctère étrange et étranger - bobjo - 25/03/2014 Non pas uniquement lorsque j'écris le doctype, j'ai l'impression qu'il apparait quand je met du code entre {process_pagedata} et {menu template="menu_header.tpl"}. Le caractère ce met sur le premier chevron de la balise p de mon contenu. Mais il se met là car le gabarit de mon menu est vide. Je met le résultat : Code : [== Indéfini ==] Alors évidement le caractère n'apparet pas dans le code que j'ai mis. Mais il se trouve après la fermeture du doctype sur le chevron ouvrant de la balise p. Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 Essaye en testant sans la balise {menu} ; s'il n'apparaît pas, il provient forcément de {menu} Crée un gabarit menu non vide dans le bloc-notes au lieu de notepad. Je viens de revérifier et il n'apparaît plus sur la page d'accueil du site sous FF et chrome, mais bien sur IE... qui est d'ailleurs en mode quirks (ou edge)(Le menu est décalé vers le haut). Et ce phénomène n'apparaît pas dans mes tests mêmes versions. [RESOLU] Un carctère étrange et étranger - bobjo - 25/03/2014 Sans la balise {menu} le caractère disparait. Donc oui le problème semble bien venir de là. Si je crée un gabarit de menu non vide dans le bloc-notes (fichier en UTF-8) le caractère est là. Puis dans notepad++, je passe ce fichier en UTF-8 sans bom, ça change rien. J'ai encore une fois vérifié sous FF (après avoir encore une fois vidé le cache), j'ai toujours le caractère ligne 154 sur le chevron ouvrant de la div classe menuwrapper. Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 25/03/2014 Je passe, désolé de n'avoir pu t'aider. Tiens-nous au courant. J'espère que d'autres auront une idée. [RESOLU] Un carctère étrange et étranger - jce76350 - 25/03/2014 Citation :Si je crée un gabarit de menu non vide dans le bloc-notes créer ton gabarit directement dans le CMS et NON dans un éditeur de texte [RESOLU] Un carctère étrange et étranger - bobjo - 26/03/2014 J'ai déjà essayé de créé le gabarit dans le cms. C'est pareil... [RESOLU] Un carctère étrange et étranger - bobjo - 26/03/2014 J'ai remarqué un truc, Si dans mon gabarit de page je ça : {process_pagedata}{menu template="test"}{content} avec comme contenu du gabarit de menu une div le caractère disparait. Si j'inverse content et menu donc : {process_pagedata}{content}{menu template="test"} Le caractère apparait. Comme si le fait d'avoir une balise avant était obligatoire pour faire apparaitre ce caractère. Comme si il était coupé en deux. La fin serait dans la partie menu (mais je sais pas ou) et le début serait créé par n'importe quelle balise fermante. [RESOLU] Un carctère étrange et étranger - bobjo - 26/03/2014 Bon apparemment, cela viens d'un problème au niveau de php qui à du mal avec UTF-8 lorsqu'il y a des include de fichiers php dans des fichiers php. J'ai trouvé des infos ici, là, là et là. De tous c'est liens il me semble qu'il y a une piste intéressante qui consiste à supprimer le caractère avec du javascript. Jean et JCE merci encore de prendre du temps pour mon problème. Je vous laisse le soin de communiquer les informations concernant le php si vous jugez cela nécessaire. Cordialement bobjo [RESOLU] Un carctère étrange et étranger - Jean le Chauve - 26/03/2014 C'était donc bien un problème de BOM. Par contre, je ne vois pas ce bug mentionné chez php, seulement ceci, qui voudrait que php ne lise pas le bom s'il existe : https://bugs.php.net/bug.php?id=22108 Je suppose que tu as vérifié tes fichiers include pour voir s'ils ne le contenaient pas. [RESOLU] Un carctère étrange et étranger - bobjo - 26/03/2014 C'est bon !!! J'ai trouvé une solution avec javascript en supprimant le caractère. Je met le code (ça peut servir !) Code : [== JavaScript ==] Voilà !!! Cordialement bobjo |