Pb d'accents dans un script de mail

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Pb d'accents dans un script de mail

    Bonjour,

    Mon environnement = J 3.5.0, CB, plugin Sourcerer

    J'ai rédigé un script html/php pour construire et envoyer des mails à certains membres.
    Le fonctionnement final est globalement correct, sauf un souci d'accentuation. Je constate :

    1. un juste respect des caractères d'accentuation placé en dur dans le corps du message mail,
    2. un problème d'affichage des accents lorsqu'ils se trouvent dans une information contenu dans un champ provenant de la BDD (véritables hiéroglyphes dans le mail reçu par le membre).

    J'ai pourtant bien respecté de préciser dans la définition du mail que je souhaitais du code "UTF-8".

    ps : j'ai tenté -comme suggéré par certains- de préciser :

    Code PHP:
    $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;

    $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne
    Mais dans ce cas, j'obtiens le résultat suivant et encore pire :
    1. mauvais affichage du texte en dur pour le message mail,
    2. bon respect de l'accentuation des infos provenant de la BDD !

    Merci pour vos conseils.
    Dernière édition par Visiteur à 06/06/2016, 18h18

  • #2
    Re : Pb d'accents dans un script de mail

    Envoyé par lendrevi Voir le message
    Bonjour,

    Mon environnement = J 3.5.0, CB, plugin Sourcerer

    J'ai rédigé un script html/php pour construire et envoyer des mails à certains membres.
    Le fonctionnement final est globalement correct, sauf un souci d'accentuation. Je constate :

    1. un juste respect des caractères d'accentuation placé en dur dans le corps du message mail,
    2. un problème d'affichage des accents lorsqu'ils se trouvent dans une information contenu dans un champ provenant de la BDD (véritables hiéroglyphes dans le mail reçu par le membre).

    J'ai pourtant bien respecté de préciser dans la définition du mail que je souhaitais du code "UTF-8".

    ps : j'ai tenté -comme suggéré par certains- de préciser :

    Code PHP:
    $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;

    $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne
    Mais dans ce case, j'obtiens le résultat suivant et encore pire :
    1. mauvais affichage du texte en dur pour le message mail,
    2. bon respect de l'accentuation des infos provenant de la BDD !

    Merci pour vos conseils.
    Utilise la fonction utf8_encodé sur ton body. Chose à savoir: les mails sur
    un serveur IMAP sont en utf7

    Commentaire


    • #3
      Re : Pb d'accents dans un script de mail

      Merci pour ce bon conseil. Mais je ne comprends pas complètement comment je dois très précisément implémenter cette modification dans mon script :

      - mettre charest="UTF-7",
      - mettre "content ... : 7bit",
      - mettre : $message = utf8_decode($message);
      - voire autre chose.

      Peux-tu me préciser stp ?
      Dernière édition par Visiteur à 06/06/2016, 18h16

      Commentaire


      • #4
        Re : Pb d'accents dans un script de mail

        C'est enfin solutionné. Mais quel cirque !

        Commentaire


        • #5
          Re : Pb d'accents dans un script de mail

          Salut,
          et comment as-tu solutionné ton souci ?
          Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Re : Pb d'accents dans un script de mail

            J'ai ajouté une commande de forçage au moment de la connexion à la bdd. On peut mettre :

            - en php : mysql_set_charset("UTF8");
            - en sql : SET NAMES "UTF8";

            Dans un script php/sql, on peut également écrire avant l'exécution de la requête proprement dite :

            Code PHP:
            $resultat mysql_query("SET NAMES utf8"); 
            Ceci dès la connexion.
            Dernière édition par Visiteur à 07/06/2016, 06h30

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X