Formulaire de contact un bug concernant l'affichage des caractères accentués (réception d'un email)

rogerroger Messages 87Membre
mars 2023 modifié dans [V11] Un bug découvert ?
Bonjour.

@fred @augras @lemimi (spécial merci à toi car je vais aussi installer tarteaucitron) et ceux qui peuvent aider.

- Dans le cadre d'un projet initié à la demande et pour la mairie de ma municipalité j'ai créé 3 sites tests réalisés avec notre cms Zwii.

- La version choisie est une V11.5.13 (les V12 et V13) demandant plus de "travail" pour la personne qui gérera par la suite notre site municipal (ce ne sera pas moi)

Tout marche à merveille dans le version choisie sauf une seule chose et elle est de taille!!!

- Le formulaire de contact du fait d'un mauvais paramétrage de l'envoi des caractères accentués (géré par le fichier PHPMailer.class.php) pour leur affichage en mode texte dans les partie non html.


En effet lors de la réception d'un email envoyé par ce formulaire de contact les caractères accentués et certains autres caractères ne sont pas affichés correctement à ces endroits dans le courrielleur du destinataire (essai réalisés avec Thunderbird tout comme avec un compte Gmail consultable en ligne);
Le message à lire lui en HTML ne souffre pas de ce bug, les caractères y étant reconnus dans la fenêtre de visualisation de l'email.

Endroits où le bug est présent:
- Sujet du message
- Correspondant du message

Je ne vous cache pas que j'ai aussi proposé (obligation demandée par ma mairie) un autre cms pour comparaison de choix possible. J'ai donc utilisé 299Ko qui offre exactement la même philosophie d'utilisation que notre ZwiiCMS.

ZwiiCMS ayant été retenu comme futur site chez nous (heu j'ai fait le forcing pour....) c'est le seul "truc qui clochait" et que je n'ai pas pu moi même corriger manuellement (zwii à beaucoup évolué et je ne suis plus du tout vraiment dans le bain)

Pour que vous voyez bien ce que je veux dire et que vous me proposiez une solution que je puisse corriger provisoirement cela, je vous met en image les endroits où ça cloche "visuellement"
Pour info, 299 utilise lui aussi phpmailer pour l'envoi de mail et donc c'est dans son code que j'ai repéré le "blème"

Email reçus envoyé par ZwiiCMS

En orange les zones du bug
En rouge ce qui est visible par la personne qui reçoit le mail



Le code source de l'émail
Encadré en rouge ce qui est concerné:
Subject,  From & Reply- to




Comparaison avec l'autre cms ######################



Email envoyée par l'autre cms vu dans le Thunderbird (idem pour mes autres softs de messagerie)


L'email en détail



Son code source
Content-type encadré en orange et le texte plein (donc non html) et lui encodé en utf8




Dans l'autre cms (299Ko) l'on voit que le contenu (content) à afficher dans les parties non html doit être encodé en utf8


et dans lesparamètre de son phpmailer


J'espère que vous pourrez m'aider rapidement sur ce coup là car le projet sera proposé au prochain conseil municipal d'ici peu de temps.
Roger

Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.

Commentaires

  • fredfred Messages 1,694Administrateur
    Et bien le plus simple est d’installer la dernière version, je ne comprends pas ce choix de vouloir l’éviter. Il suffit pour l’éditeur du site de ne pas toucher au multilingue, le reste fonctionne de la même manière. 
    Sinon il faut vérifier dans les layout que mail.php et main.php ont bien un Charest utf-8. Je suis certain que cela a été corrigée récemment. 
    The f....g boss
  • rogerroger Messages 87Membre
    Bonjour @fred

    C'est donc ce que j'ai fait ce matin.
    Le bug est toujours présent pour celui qui installe la dernière version. (voir captures d'écran ci dessous)





    Résultat dans le courrielleur:


    Merci Fred pour ta réponse rapide
    Je vais maintenant vérifier que dans mail.php & main.php le charset est sur le paramétrage utf8, si pas le mettre en place puis un essai en live bien entendu.
    Je te tiens au courant du résultat ici.

    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • rogerroger Messages 87Membre
    mars 2023 modifié
    Fred
    PS: Ne pas installer la dernière version (incompréhension) et comme tu me connais bien la réponse ci dessous.
    Moi j'installerai la dernière version bien entendu mais je ne suis pas le commanditaire de ce job là (le site est choisi par d'autre tout comme la version du cms employé) mais crois moi, le forcing je connais ainsi que les bons arguments pour "aiguiller les décideurs" vers le bon choix à faire et le bon choix pour moi sera toujours la dernière version du cms dispo en ligne ;)
    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • fredfred Messages 1,694Administrateur

    Je comprends d'où vient la pervenche :)

    Je contrôle et je reviens vers toi.
    The f....g boss
  • lemimilemimi Messages 215Moderateur
    Salut,
    Je viens d'ajouter électronique à la fin de adresse, sujet, message dans la configuration de formulaire.
    Sur le site côté visiteur, c'est ok : https://test.lemimi.fr/zwii-12300/fr/?contact
    Mais en admin, après enregistrement, voici ce que j'avais et que j'ai toujours:

    Si cela peut aider... Michel


  • rogerroger Messages 87Membre
    mars 2023 modifié

    je confirme que ce bug est aussi présent à l'endroit que tu indique; c'est donc du au fait qu'il manque une instruction pour que le cms ne remplace par dans les zones de textes simples (zone de texte non html à afficher ensuite à l'utilisateur concerné)
    Cela affecte bien entendu le mailleur ( tout comme toutes les boites de dialogue texte simple à afficher et qui demande à être enregistrées ensuite et dont on visualise le résultat final une fois la page rafraîchie)
    Même si on choisi dans le formulaire l'option 'Selection" et que l'on entre alors dedans des caractères accentués et d'autres pas et bien ceux accentués souffrent horriblement  du traitement imposé par la transcription de ceux ci :


    j'ai fait la même manip que toi.....le résultat est flagrant.


    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • rogerroger Messages 87Membre

    J'ai trouvé une partie de la solution (en priorité c'est le module form qui était important pour moi) je pense que si l'on réalise ma manip provisoire dans tout les endroit voulus les caractères accentués seront affichés partout;
    Comme dab je me suis dit "le zwii garde tout ce qui est crée dans un fichier en .json" donc en ouvrant le fichier module.json situé dans /site/data/fr_FR/
    bingo en remplaçant les caractères spéciaux htlm écrits dans ce fichier et bien..... voila voilou pour au moins le sujet envoyé stipule bien:

    Sujet: Site web mairie de Pervenchères


    Donc c'est quand le zwii écrit les données dans /site/data/ qu'il les réécrit au format html pour tout ce qui est caractères accentués et touti.
    Vais faire le reste maintenant

    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • fredfred Messages 1,694Administrateur
    C'est en effet le cas, les accents sont convertis en entités, le corps du message est converti en UTF-8 mais pas le sujet qui est transmis en us-ascii.
    Le problème est corrigé dans le core.
    Quant au pb signalé par @lemimi et que j'ai aussi repéré, il est différent, mais c'est aussi corrigé, form passe en 3.8 : 





    Corrections ici : https://forge.chapril.org/ZwiiCMS-Team/ZwiiCMS/src/branch/12304


    The f....g boss
  • rogerroger Messages 87Membre
    J'ai donc édité à la mano les 3 fichiers situés dans /site/data/fr_FR/
    ( locale.json  module.json  page.json )

    Puis dans /site/data/fr_FR/content/
    Le fichier crée à la mise en route du formulaire de contact formulaire-de-contact-pervencheres.html

    ==> dedans j'ai enlevé tout les caractères spéciaux utilisé par le html pour les caractères accentués pour les remplacer par les caractères texte normaux
    exemple:
    zwii écrit comme celà dans un json de sauvegarde
    Tester le formulaire de contact pour les caractères accentués à l'envoi/réception d'un Email
    Ce qui marche c'est ceci:
    Tester le formulaire de contact pour les caractères accentués à l'envoi/réception d'un Email.

    Résultat un email reçu sur n'importe quel courrielleur qui est plaisant vraiment à lire



    Fred il faut que tu trouves dans tes codes à forcer la sauvegarde des données en json non pas en les enregistrant avec un remplacement des caractères accentués par leur équivalent en html mais qu'ils soient écrit en textes brute.

    ==> Ça marche même pour l'exemple donné par lemini plus haut quand on édite à la mano les fichiers nommés au début de ma réponse. .

    La méthode peut au pire être effectuée manuellement dans les fichiers sur le serveur car j'ai vérifié aussi que si on supprime en live dans un zwii une donnée les autres sont conservées en l'état. C'est au cas où pour faire dans l'urgence en attendant une éventuelle correction.






    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • fredfred Messages 1,694Administrateur
    Le plus simple est d'installer la nouvelle version ;) 
    The f....g boss
  • lemimilemimi Messages 215Moderateur
    mars 2023 modifié
    Bonjour @fred et @roger ,
    Je viens de télécharger et installer la dernière version 12.3.04 et le problème est toujours présent,  en brut, avec l'expéditeur du message:
    Bon dimanche... Michel

  • fredfred Messages 1,694Administrateur
    Désolé Michel, je ne valide pas : 


    Le client est Thunderbird.
    The f....g boss
  • lemimilemimi Messages 215Moderateur
    Bon, je viens de le faire avec un compte Gmail et l'image ci-dessous est celle ouverte avec ce compte Gmail en texte brut dans les navigateurs Google Chrome et Opera
    Bizarre que cela ne fonctionne pas de mon coté. Reste à voir si @roger a le même symptôme.
    Au plaisir... Michel
  • rogerroger Messages 87Membre
    mars 2023 modifié
    Bonjour @fred @lemimi

    Je confirme que le nom du site s'il contient un accent accentué soufre encore du bug (on peut le résoudre simplement en éditant le fichier page.json)
    En prime si l'on décide de changer no-reply dans la config par un truc avec un accent accentué et bien le caractère lui est purement effacer.

    Pour ma part j'ai téléchargé hier soir et installe la version sur la forge que Fred (encore en dev 12.0.04) et tester la correction que fred avait apporté dans celle ci à peine une heure auparavant.

    C'est vraiment le tout dernier petit inconvénient que le nom que nous donnons au site ne soit pas enregistré au format texte simple. Pour le reste tout est nickel, beau travail Fred que tu as fait là aussi rapidement.

    Moi j'ai Thunderbird mon courrielleur adoré


    Et en ligne l'un de mes nombreux comptes Gmail

    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • fredfred Messages 1,694Administrateur


    Je travaille sur l'authentification SMTP ;) mais cela n'a rien à voir.
    The f....g boss
  • rogerroger Messages 87Membre
    mars 2023 modifié



    Oui ton exemple est flagrant pour ce qui concerne le dernier "petit bin's" et c'est justement pour cela que le code écrit pour le "correspondant" ainsi que le "de" (adresse mail du gestionnaire admin d'un zwii ainsi que nom du site) uniquement doivent être enregistrés au format txt.
    le seul gros hic c'est que le fameux nom du site doit aussi être écrit en html dans le fichier de sauvegarde car c'est du html qui permettra de pouvoir visualiser le contenu du message envoyé dans la fenêtre de prévisualisation d'un email.
    Avec ta correction apportée dans la version de dev 12.0.04 cela avait résolu:
    En une fois le problème repéré par @lemimi ainsi que celui que j'ai repéré pour le "titre du sujet" visible à la réception d'un mail.
    Ne restait donc plus que le "de:" intimement imbriqué avec le Nom_du_site car le nom du site est utilisé dans le code du zwii pour la partie non html du mail mais aussi pour la partie html de prévisualisation du message envoyé.
    J'ai pensé au départ moi aussi que l'authentification smtp était en cause mais me suis bien vite aperçu que ce n'était pas le cas mais bien un problème de transcription des données à sauvegarder dans les fichiers json du data.

    - Avec plusieurs tests je me suis aperçu là que les données "fixes" pour le nom du site étaient immuables tant qu'on ne changeait pas ce nom depuis l'admin d'un zwii gérait ceci:

    - 1 - que ce nom de site servait en (mode texte simple) à afficher le nom du correspondant ainsi que l'adresse email du site lui même
    - 2 - mais aussi que le nom du site (et là obligation d'utiliser du code HTML pour l'affichage de tout le message à prévisualiser) et donc qu'il fallait que la transcription de ces données soient faite pour du html.
    Comme zwii réécrit (si on ajoute une page au site) le fichier page.json et bien le nom du site y est alors remis avec le code de remplacement en caractères spéciaux.

    ;) sacré dilemme hein car une écriture d'un seul code doit servir pour du texte simple mais aussi pour du texte à afficher en html pur.
    Je continue la recherche sur la base de tes corrections Fred car ta piste est bonne (celle d'avant hier)


    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • lemimilemimi Messages 215Moderateur
    Bonjour,
    Sur le site avec comme titre Modèle Air Club 27: https://www.mac27.com/
    J'ai créé une image de bannière incluant le titre.
    Ensuite dans paramètres de localisation, .j'ai mis le titre de la bannière sans accent: Modele Air Club 27
    Ensuite dans thème, , clic bannière, j'ai coché la case Titre masqué.
    Avant sous Thunderbird en texte brut: 

    Après sous Thunderbird en texte brut:  

    Cela peut être une solution... Michel
  • fredfred Messages 1,694Administrateur
    Bien vu Michel,

    L'encodage pour le titre du site est désormais corrigé comme je l'avais fait pour le sujet.

    Je précise que dans toutes les données json, les caractères accentués sous forme d'entités html. L'affichage en UTF-8 est correctement affiché dans le navigateur, mais en envoi avec phpmailer, il faut lui préciser le codage et convertir les entités.

    Merci à vous deux pour le retour d'expérience.
    The f....g boss
  • rogerroger Messages 87Membre

    Ta solution de créer une bannière avec le titre du site dedans (en graphisme donc) certes à le mérite d'afficher (puisque c'est une image) les caractères accentués mais, car il y a un mais....

    Cela ne résout  en rien du fait que tu sois obliger ensuite dans le module de localisation d'écrire le titre du site sans aucuns caractères avec accent de même que si la personne désire afficher le titre du site qui pourrait être son nom patrimonial ce nom serait tronqué car mal orthographié.

    exemple:
    - Je m’appelle Gérard Dépierre nom de domaine en ".com"
    -Je veux que mon site se nomme GéDé

    - Un autre gars lui se nomme Gédéon Déplanque et veut nommer son site GéDé nom de domaine en ".net"

    ==> Tout les deux tiennent absolument à ce que soit bien orthographié (donc comme pour l'état civil) leur nom/prénom ou patronyme.
    Ils se retrouveront c'est certain avec une image avec le nom de leur site caligraphié dedans :)  mais par contre verront tronqué des accents, ainsi que la ponctuation entre des lettres comme d' ou l' et donc si leur sites se nomment:

    Le site d'un fou du volant se trouve sur un nom de domaine par exemple"fr"
    L'espace communautaire d'Argeville
    Et bien la personne qui recevra un email de cela verra alors..

    De: Gede c'est pas vraiment (à part qu'il ne reste que le nom de domaine pour vérifier quel est le "Gédé" qui m'a écrit et de quel site il vient

    De: Le site d un fou du volant<no-reply@le-fou-du-volant.fr>  :o

    De: L espace communautaire d Argeville<no-reply@communate-argeville.fr> :o

    Pas vraiment folichon à lire pour le destinataire vu que les ' entre le premier L & le e dans l'espace d'une communauté aura  été remplacé par un vide. Idem pour les identités propre à un nom, des patronymes il en existe beaucoup sur la toile et la plus grande majorité tiennent à ce que soit présents lettres caractères accentués etc quand ils les affichent aux autres.

    Je télécharge ta dev mise à jour et je teste illico (enfin en milieu d'aprem à cause de mes neunoeils) ta correction pour te dire si ça marche bien maintenant pour le titre du site sans devoir user d'un autre artifice comme les miens ou modifier un visuel comme celui de Michel.




    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • lemimilemimi Messages 215Moderateur
    Hello,
    Je viens de rétablir avec l'accent et ai même mis le titre à gauche dans la bannière pour test, tout paraît OK pour moi. MAC27
    Sous Thunderbird en texte brut: 
    Tout le reste aussi fonctionne nickel !
    Tous les problèmes semblent résolus de ce côté là.
    @fred, tu as vraiment assuré :-)


  • fredfred Messages 1,694Administrateur
    Merci @lemimi :) 
    The f....g boss
  • rogerroger Messages 87Membre
    Idem pour moi @fred à un tout tout  mais vraiment tout petit détail prét =)
    Ne changez surtout par (ou mettez avec des caractères non accentués) la formule dans /configuration du site/ onglet "Réseau" rubrique "SMTP" ceci:

    no-reply par un truc qui a les fameux caractères car sinon la capture d'écran parle d'elle même.

    Fred tu as fait un super boulot dans ta toute dernière correction, pour ma part je considère que ce "petit bug" gênant est résolu. Vi la plupart des webmaster laisseront tel que le "no-reply" car ceux qui reçoivent les mail depuis que cela existe connaissent au ce que ce terme veut dire ;)
    J'attends donc avec impatience la sortie officielle pour cette mise à jour là afin de proposer à ma mairie un site top de chez top avec ZwiiCMS.

    remarque perso sur la signature de notre "patron ici", je la caricaturerai bien pour conclure ma réponse..............heu c'est histoire de rire un bon coup entre nous bien entendu :)

    "The f....g boss "oui mais un "The f....g boss" qui fait drôlement bien avancer les choses et ça marche!!! 😜




    Toujours aller de l'avant, ne pas regarder derrière soi telle est une vie belle, bien remplie.
  • fredfred Messages 1,694Administrateur
    C'est une inspiration de la signature de Jean du temps où il était le boss ;)

    Merci Roger..
    The f....g boss
Connectez-vous ou Inscrivez-vous pour répondre.