Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1962 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire PHP réponse mail accent

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire PHP réponse mail accent

n°2290728
twinsen60
Posté le 27-10-2016 à 09:39:58  profilanswer
 

Bonjour,
 
Voilà, je fais un site pour une entreprise, et j'ai un formulaire de contact (nom, téléphone, mail, message), et le contenu me reviens sur mon mail.
Cela marche bien, sauf que dans mon mail, j'ai des caractères étrange a la place des accents.
 
Je ne sais pas quoi modifié par rapport à çà. Mes fichiers (HTML, PHP, et JS sont en UTF8)
Merci d'avance
 
Si vous avez une autre solution dans le même genre qui prends les accents, je suis preneur aussi.
 
Voici les codes:
 
HTML:
 

Code :
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Mon site Internet</title>
  5. <meta charset = "UTF-8">
  6. <meta name="description" content="Your description">
  7. <meta name="keywords" content="Your keywords">
  8. <meta name="author" content="Your name">
  9. <link rel="stylesheet" href="css/bootstrap.css" type="text/css" media="screen">
  10. <link rel="stylesheet" href="css/responsive.css" type="text/css" media="screen">
  11. <link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
  12. <link rel="icon" type="image/png" href="img/ico/favicon.png" />
  13. <!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="img/ico/favicon.ico" /><![endif]-->
  14. <link rel="apple-touch-icon" sizes="57x57" href="img/ico/apple-icon-57x57.png">
  15. <link rel="apple-touch-icon" sizes="60x60" href="img/ico/apple-icon-60x60.png">
  16. <link rel="apple-touch-icon" sizes="72x72" href="img/ico/apple-icon-72x72.png">
  17. <link rel="apple-touch-icon" sizes="76x76" href="img/ico/apple-icon-76x76.png">
  18. <link rel="apple-touch-icon" sizes="114x114" href="img/ico/apple-icon-114x114.png">
  19. <link rel="apple-touch-icon" sizes="120x120" href="img/ico/apple-icon-120x120.png">
  20. <link rel="apple-touch-icon" sizes="144x144" href="img/ico/apple-icon-144x144.png">
  21. <link rel="apple-touch-icon" sizes="152x152" href="img/ico/apple-icon-152x152.png">
  22. <link rel="apple-touch-icon" sizes="180x180" href="img/ico/apple-icon-180x180.png">
  23. <link rel="icon" type="image/png" sizes="192x192"  href="img/ico/android-icon-192x192.png">
  24. <link rel="icon" type="image/png" sizes="32x32" href="img/ico/favicon-32x32.png">
  25. <link rel="icon" type="image/png" sizes="96x96" href="img/ico/favicon-96x96.png">
  26. <link rel="icon" type="image/png" sizes="16x16" href="img/ico/favicon-16x16.png">
  27. <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300' rel='stylesheet' type='text/css'>
  28. <script type="text/javascript" src="js/jquery.js"></script>
  29. <script type="text/javascript" src="js/superfish.js"></script>
  30. <script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
  31. <script src="js/forms.js"></script>
  32. <script>
  33.    jQuery(window).load(function() {
  34.     jQuery('.spinner').animate({'opacity':0},1000,'easeOutCubic',function (){jQuery(this).css('display','none')});
  35.    });
  36. </script>
  37. <!--[if lt IE 8]>
  38.     <div style='text-align:center'><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://www.theie6countdown.com/img/upgrade.jpg"border="0"alt=""/></a></div> 
  39.  <![endif]-->
  40. <!--[if (gt IE 9)|!(IE)]><!-->
  41. <!--<![endif]-->
  42. <!--[if lt IE 9]>
  43.     <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  44.     <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen">
  45.     <link href='http://fonts.googleapis.com/css?family=Open+Sans:300' rel='stylesheet' type='text/css'>
  46.     <link href='http://fonts.googleapis.com/css?family=Open+Sans:400' rel='stylesheet' type='text/css'>
  47.   <![endif]-->
  48. </head>
  49. <body>
  50. <div class="spinner"></div>
  51. <!--=== header ===-->
  52. <header>
  53.       <div class="container clearfix">
  54.     <div class="row">
  55.           <div class="span12">
  56.         <div class="navbar navbar_">
  57.               <div class="container">
  58.             <h1 class="brand brand_"><a href="index.html"><img alt="" src="img/logo2.png"> </a></h1>
  59.             <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse_">Menu <span class="icon-bar"></span> </a>
  60.             <div class="nav-collapse nav-collapse_  collapse">
  61.                   <ul class="nav sf-menu">
  62.                 <li><a href="index.html">Accueil</a></li>
  63.                 <li><a href="realisations.html">Nos réalisations</a></li>
  64.                 <li><a href="photos.html">Galleries photos</a></li>
  65.                 <li><a href="atelier.html">Notre atelier</a></li>
  66.                 <li class="active"><a href="contact.html">Nous contacter</a></li>
  67.               </ul>
  68.                 </div>
  69.           </div>
  70.             </div>
  71.       </div>
  72.         </div>
  73.   </div>
  74.     </header>
  75. <div class="bg-content">
  76.       <!--=== content ===-->
  77.       <div id="content">
  78.     <div class="container">
  79.           <div class="row">
  80.         <article class="span6">
  81.    <h3>Nous Contacter</h3>
  82.    <div class="inner-1">
  83.    <form id="contact-form">
  84.     <div class="success"> Message Envoyé ! <strong>Nous vous contacterons prochainement.</strong> </div>
  85.     <fieldset>
  86.      <div>
  87.       <label class="name">
  88.       <input type="text" value="Nom">
  89.       <br>
  90.       <span class="error">*Ce n'est pas un nom.</span> <span class="empty">*Champ requis.</span> </label>
  91.      </div>
  92.      <div>
  93.       <label class="phone">
  94.       <input type="tel" value="Téléphone">
  95.       <br>
  96.       <span class="error">*Ce n'est pas un numéro de téléphone.</span> <span class="empty">*Champ requis.</span> </label>
  97.      </div>
  98.      <div>
  99.       <label class="email">
  100.       <input type="email" value="E-mail">
  101.       <br>
  102.       <span class="error">*Ce n'est pas une adresse E-mail.</span> <span class="empty">*Champ requis.</span> </label>
  103.      </div>
  104.      <div>
  105.       <label class="message">
  106.       <textarea>Message</textarea>
  107.       <br>
  108.       <span class="error">*Le message est trop court.</span> <span class="empty">*Champ requis.</span> </label>
  109.      </div>
  110.      <div class="buttons-wrapper"> <a class="btn btn-1" data-type="reset">Effacer</a> <a class="btn btn-1" data-type="submit">Envoyer</a></div>
  111.     </fieldset>
  112.                 </form>
  113.    </div>
  114.             </article>
  115.   <article class="span6">
  116.    <h3>Nous situer</h3>
  117.     <span style="color: white">Entreprise</span><br>
  118.     <span style="color: white">Rue du soleil</span><br>
  119.     <span style="color: white">99 999 Lac Bleur</span><br><br>
  120.    <address class="address-1">    
  121.     <div class="overflow">
  122.     <span>Bureau:</span><span style="color: white">00.00.00.00.00</span><br>
  123.     <span>Fax:</span><span style="color: white">00.00.00.00.00</span><br>
  124.     <span>Portable:</span><span style="color: white">00.00.00.00.00</span><br>
  125.     <span>E-mail:</span><a href="mailto:monsite@orange.fr" class="mail-1">monsite@orange.fr</a><br>
  126.    </address>
  127.    <h3>Horaires d'ouverture:</h3>
  128.     <span style="color: white">8h-12h / 13h-17h</span><br>
  129.    <h3>Horaires de fermeture:</h3>
  130.     <span style="color: white">samedi et dimanche</span><br>
  131.   </article>
  132.   </div>
  133.         
  134.       </div>
  135.  
  136.         </div><!--fin de row-->
  137. <div class="container">
  138.           <div class="row">
  139.         <article class="span12">
  140.    <div class="map_area">
  141.     <div id='map-canvas' ></div><br>
  142.    </div>
  143.  </article>
  144.  </div>
  145.  </div>
  146.   </div>
  147.     </div>
  148. <!--=== footer ===-->
  149. <footer>
  150. <div class="container clearfix">
  151.   <ul class="list-social pull-right">
  152.    <li><a href="index.html"><img alt="" src="img/logo3.png"> </a></h1></li>         
  153.   </ul>
  154.   <div class="privacy pull-left">2016 - Mon site Internet</div>
  155.   </div>
  156. </footer>
  157. <script type="text/javascript" src="js/bootstrap.js"></script>
  158. <!-- Google Map js -->
  159.         <!--<script src="https://maps.googleapis.com/maps/api/js"></script>-->
  160.  <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=MYAPIKEY&exp&sensor=false&libraries=places">sensor=false"></script> <!-- Google Maps API -->
  161. <script>
  162. var map; // Google map object
  163. // Initialize and display a google map
  164. function Init()
  165. {
  166.  // Create a Google coordinate object for where to center the map
  167.  var latlngDC = new google.maps.LatLng( 0.0, 0.0 ); // Coordinates of Washington, DC (area centroid)
  168.  // Map options for how to display the Google map
  169.  var mapOptions = { zoom: 16, center: latlngDC  };
  170.  // Show the Google map in the div with the attribute id 'map-canvas'.
  171.  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  172.  // Place a standard Google Marker at the same location as the map center (Washington, DC)
  173.  // When you hover over the marker, it will display the title
  174.  var marker = new google.maps.Marker( {
  175.   position: latlngDC,   
  176.   map: map,
  177.   icon: 'img/logomarker.png',
  178.   animation: google.maps.Animation.BOUNCE // set marker to bounce
  179.  });
  180. }
  181. // Call the method 'Init()' to display the google map when the web page is displayed ( load event )
  182. google.maps.event.addDomListener( window, 'load', Init );
  183. </script>
  184. <style>
  185. /* style settings for Google map */
  186. #map-canvas
  187. {
  188.  width : 100%;  /* map width */
  189.  height: 370px; /* map height */
  190. }
  191. </style>
  192. </body>
  193. </html>


 
forms.js:
 
 

Code :
  1. //forms
  2. ;(function($){
  3. $.fn.forms=function(o){
  4.  return this.each(function(){
  5.   var th=$(this)
  6.    ,_=th.data('forms')||{
  7.     errorCl:'error',
  8.     emptyCl:'empty',
  9.     invalidCl:'invalid',
  10.     notRequiredCl:'notRequired',
  11.     successCl:'success',
  12.     successShow:'4000',
  13.     mailHandlerURL:'bat/MailHandler.php',
  14.     ownerEmail:'mailreponse@orange.fr',
  15.     stripHTML:true,
  16.     smtpMailServer:'localhost',
  17.     targets:'input,textarea',
  18.     controls:'a[data-type=reset],a[data-type=submit]',
  19.     validate:true,
  20.     rx:{
  21.      ".name":{rx:/^[a-zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ][a-zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ\' -]+[a-zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]$/i,target:'input'},
  22.      ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
  23.      ".email":{rx:/^(("[\w-\s]+" )|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+" )([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},
  24.      ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
  25.      ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
  26.      ".message":{rx:/.{20}/,target:'textarea'}
  27.     },
  28.     preFu:function(){
  29.      _.labels.each(function(){
  30.       var label=$(this),
  31.        inp=$(_.targets,this),
  32.        defVal=inp.val(),
  33.        trueVal=(function(){
  34.           var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
  35.           return defVal==''?defVal:tmp
  36.          })()
  37.       trueVal!=defVal
  38.        &&inp.val(defVal=trueVal||defVal)
  39.       label.data({defVal:defVal})
  40.       inp
  41.        .bind('focus',function(){
  42.         inp.val()==defVal
  43.          &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
  44.        })
  45.        .bind('blur',function(){
  46.         _.validateFu(label)
  47.         if(_.isEmpty(label))
  48.          inp.val(defVal)
  49.          ,_.hideErrorFu(label.removeClass(_.invalidCl))
  50.        })
  51.        .bind('keyup',function(){
  52.         label.hasClass(_.invalidCl)
  53.          &&_.validateFu(label)
  54.        })
  55.       label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
  56.      })
  57.      _.success=$('.'+_.successCl,_.form).hide()
  58.     },
  59.     isRequired:function(el){
  60.      return !el.hasClass(_.notRequiredCl)
  61.     },
  62.     isValid:function(el){
  63.      var ret=true
  64.      $.each(_.rx,function(k,d){
  65.       if(el.is(k))
  66.        ret=d.rx.test(el.find(d.target).val())
  67.      })
  68.      return ret
  69.     },
  70.     isEmpty:function(el){
  71.      var tmp
  72.      return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
  73.     },
  74.     validateFu:function(el){
  75.      el.each(function(){
  76.       var th=$(this)
  77.        ,req=_.isRequired(th)
  78.        ,empty=_.isEmpty(th)
  79.        ,valid=_.isValid(th)
  80.       if(empty&&req)
  81.        _.showEmptyFu(th.addClass(_.invalidCl))
  82.       else
  83.        _.hideEmptyFu(th.removeClass(_.invalidCl))
  84.       if(!empty)
  85.        if(valid)
  86.         _.hideErrorFu(th.removeClass(_.invalidCl))
  87.        else
  88.         _.showErrorFu(th.addClass(_.invalidCl))
  89.      })
  90.     },
  91.     getValFromLabel:function(label){
  92.      var val=$('input,textarea',label).val()
  93.       ,defVal=label.data('defVal')
  94.      return label.length?val==defVal?'nope':val:'nope'
  95.     }
  96.     ,submitFu:function(){
  97.      _.validateFu(_.labels)
  98.      if(!_.form.has('.'+_.invalidCl).length)
  99.       $.ajax({
  100.        type: "POST",
  101.        url:_.mailHandlerURL,
  102.        data:{
  103.         name:_.getValFromLabel($('.name',_.form)),
  104.         email:_.getValFromLabel($('.email',_.form)),
  105.         phone:_.getValFromLabel($('.phone',_.form)),
  106.         fax:_.getValFromLabel($('.fax',_.form)),
  107.         state:_.getValFromLabel($('.state',_.form)),
  108.         message:_.getValFromLabel($('.message',_.form)),
  109.         owner_email:_.ownerEmail,
  110.         stripHTML:_.stripHTML
  111.        },
  112.        success: function(){
  113.         _.showFu()
  114.        }
  115.       })
  116.     },
  117.     showFu:function(){
  118.      _.success.slideDown(function(){
  119.       setTimeout(function(){
  120.        _.success.slideUp()
  121.        _.form.trigger('reset')
  122.       },_.successShow)
  123.      })
  124.     },
  125.     controlsFu:function(){
  126.      $(_.controls,_.form).each(function(){
  127.       var th=$(this)
  128.       th
  129.        .bind('click',function(){
  130.         _.form.trigger(th.data('type'))
  131.         return false
  132.        })
  133.      })
  134.     },
  135.     showErrorFu:function(label){
  136.      label.find('.'+_.errorCl).slideDown()
  137.     },
  138.     hideErrorFu:function(label){
  139.      label.find('.'+_.errorCl).slideUp()
  140.     },
  141.     showEmptyFu:function(label){
  142.      label.find('.'+_.emptyCl).slideDown()
  143.      _.hideErrorFu(label)
  144.     },
  145.     hideEmptyFu:function(label){
  146.      label.find('.'+_.emptyCl).slideUp()
  147.     },
  148.     init:function(){
  149.      _.form=_.me
  150.      _.labels=$('label',_.form)
  151.      _.preFu()
  152.      _.controlsFu()
  153.      _.form
  154.       .bind('submit',function(){
  155.        if(_.validate)
  156.         _.submitFu()
  157.        else
  158.         _.form[0].submit()
  159.        return false
  160.       })
  161.       .bind('reset',function(){
  162.        _.labels.removeClass(_.invalidCl)
  163.        _.labels.each(function(){
  164.         var th=$(this)
  165.         _.hideErrorFu(th)
  166.         _.hideEmptyFu(th)
  167.        })
  168.       })
  169.      _.form.trigger('reset')
  170.     }
  171.    }
  172.   _.me||_.init(_.me=th.data({forms:_}))
  173.   typeof o=='object'
  174.    &&$.extend(_,o)
  175.  })
  176. }
  177. })(jQuery)
  178. $(window).load(function(){
  179.    $('#contact-form').forms({
  180.       ownerEmail:'mailreponse@orange.fr'
  181.       })
  182.    })


 
mailhander.php :
 

Code :
  1. <?php
  2. $owner_email = $_POST["owner_email"];
  3. $headers = "MIME-Version: 1.0\r\n";
  4. $headers = "\nContent-Type: text/plain; charset=iso-8859-1" // Type MIME
  5. $headers = 'From:' . $_POST["email"];
  6. $subject = 'Message de Mon site internet';
  7. $messageBody = "";
  8. if($_POST['name']!='nope'){
  9.  $messageBody .= '<p>Nom: ' . $_POST["name"] . '</p>' . "\n";
  10.  $messageBody .= '<br>' . "\n";
  11. }
  12. if($_POST['email']!='nope'){
  13.  $messageBody .= '<p>E-mail: ' . $_POST['email'] . '</p>' . "\n";
  14.  $messageBody .= '<br>' . "\n";
  15. }else{
  16.  $headers = '';
  17. }
  18. if($_POST['state']!='nope'){
  19.  $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
  20.  $messageBody .= '<br>' . "\n";
  21. }
  22. if($_POST['phone']!='nope'){
  23.  $messageBody .= '<p>Téléphone: ' . $_POST['phone'] . '</p>' . "\n";
  24.  $messageBody .= '<br>' . "\n";
  25. }
  26. if($_POST['fax']!='nope'){
  27.  $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
  28.  $messageBody .= '<br>' . "\n";
  29. }
  30. if($_POST['message']!='nope'){
  31.  $messageBody .= '<p>Message: ' . '</p>' . "\n";
  32.  $messageBody .= '<br>' . "\n";
  33.  $messageBody .= '<p>'. $_POST['message'] . '</p>' . "\n";
  34. }
  35. if($_POST["stripHTML"] == 'true'){
  36.  $messageBody = strip_tags($messageBody);
  37. }
  38. try{
  39.  if(!mail($owner_email, $subject, $messageBody, $headers)){
  40.   throw new Exception('mail failed');
  41.  }else{
  42.   echo 'mail sent';
  43.  }
  44. }catch(Exception $e){
  45.  echo $e->getMessage() ."\n";
  46. }
  47. ?>


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
mood
Publicité
Posté le 27-10-2016 à 09:39:58  profilanswer
 

n°2290735
rufo
Pas me confondre avec Lycos!
Posté le 27-10-2016 à 11:01:17  profilanswer
 

Pb classique de charset. Ton site est en UTF-8 mais ton mail est sans doute en ISO-8859-1.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2290741
twinsen60
Posté le 27-10-2016 à 11:31:16  profilanswer
 

Merci, et je dois changer quoi pour corriger çà ?


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290743
yann83210
Posté le 27-10-2016 à 12:01:18  profilanswer
 

Mdr déjà commence peut-être par la ligne 4 du fichier mailhander.php ....
 

n°2290744
Pablo Escr​obarbe
Retour d'exil
Posté le 27-10-2016 à 12:25:24  profilanswer
 

Code :
  1. <?php
  2. $owner_email = $_POST["owner_email"];
  3. $headers = "MIME-Version: 1.0\r\n";
  4. $headers = "\nContent-Type: text/plain; charset=iso-8859-1" // Type MIME
  5. $headers = 'From:' . $_POST["email"];
  6. $subject = 'Message de Mon site internet';

n°2290747
yann83210
Posté le 27-10-2016 à 13:19:09  profilanswer
 

A carrément, tu penses qu'il est si nul que ça pour ne pas comprendre ce que je lui avais répondu ?
 
Ps : 1 post de plus pour moi aussi ...

n°2290748
twinsen60
Posté le 27-10-2016 à 13:37:43  profilanswer
 

Bonjour,
 
J'ai bien changé par UTF8, mais toujours pareil :
 

Code :
  1. $owner_email = $_POST["owner_email"];
  2. $headers = "MIME-Version: 1.0\r\n";
  3. $headers = "\nContent-Type: text/plain; charset=utf-8";
  4. $headers = 'From:' . $_POST["email"];
  5. $subject = 'Mon site internet';
  6. $messageBody = "";


 
Voici le genre de truc que je reçois en mail.

Citation :

Nom: Aur��lien
 
E-mail: tyty@orange.fr
 
T��l��phone: 34323432
 
Message:  
 
Cong��s
iozejfoizef
&��"'(-��_����
odifnsdoifn
sdopfns
fn
sdfn
sdn
fisdnize,nfoinezfionezfo
fnsd
f


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290753
yann83210
Posté le 27-10-2016 à 13:59:49  profilanswer
 

Vérifies également l'encodage de tes fichiers dans ton éditeur, Ex sous Notepad++ Encodage-> Encoder en UTF-8 (sans Bom)

n°2290755
twinsen60
Posté le 27-10-2016 à 14:05:40  profilanswer
 

Toujours pareil


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290757
yann83210
Posté le 27-10-2016 à 14:07:22  profilanswer
 

essaies ça :

Code :
  1. $owner_email = $_POST["owner_email"];
  2.     $headers = 'MIME-Version: 1.0'."\r\n";
  3. $headers .='Content-Type: text/plain; charset="utf-8"'."\r\n";
  4.     $headers .= 'From:' . $_POST["email"];
  5.     $subject .= 'Mon site internet';
  6.     $messageBody = "";

mood
Publicité
Posté le 27-10-2016 à 14:07:22  profilanswer
 

n°2290761
twinsen60
Posté le 27-10-2016 à 14:14:03  profilanswer
 

Non, C'est pareil.

 

Les même caractères bizarre.


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290770
yann83210
Posté le 27-10-2016 à 14:34:06  profilanswer
 

Hormis tenté un encodage forcé directement depuis un htaccess, je sèche ....
 
http://www.astuces-webmaster.ch/pa [...] odage-utf8

n°2290773
rufo
Pas me confondre avec Lycos!
Posté le 27-10-2016 à 14:55:01  profilanswer
 

if (mb_detect_encoding($texte) == 'UTF-8')
{
    $texte= utf8_decode($texte);
}
 
Sinon, faire dans l'autre sens :
if (mb_detect_encoding($texte) != 'UTF-8')
{
    $texte= utf8_encode($texte);
}


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2290777
twinsen60
Posté le 27-10-2016 à 15:04:57  profilanswer
 

Je peux mettre les deux ?
Je mets ça à quel endroit ?


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290787
rufo
Pas me confondre avec Lycos!
Posté le 27-10-2016 à 16:25:03  profilanswer
 

Non, c'est l'un ou l'autre (plutôt le 2ème du reste).
$texte sera à remplacer par tes différentes variables de type texte qui ont un pb d'encodage.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2290800
twinsen60
Posté le 27-10-2016 à 20:01:38  profilanswer
 

Je pense que j'ai du rater quelque chose en prenant comme variable "message" :
 

Code :
  1. if (mb_detect_encoding('message') != 'UTF-8'){
  2.  'message'= utf8_encode('message');
  3. }


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290838
twinsen60
Posté le 28-10-2016 à 00:17:37  profilanswer
 

Bon, petite avancée,  
 
en tapant ceci, çà marche, mais, j'ai plus le mail indiquer, mai CGI-Mailer a la place.
CGI-Mailer viens de cgi-mailer@kundenserver.de pour information.
 
Comment faire pour corriger çà ?
 
Merci d'avance
 

Code :
  1. $owner_email = $_POST["owner_email"];
  2. $headers = 'From:' . $_POST["email"];
  3. $headers = 'MIME-Version: 1.0'."\r\n";
  4. $headers .='Content-Type: text/plain; charset="utf-8"'."\r\n";


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290875
rufo
Pas me confondre avec Lycos!
Posté le 28-10-2016 à 10:51:13  profilanswer
 

twinsen60 a écrit :

Je pense que j'ai du rater quelque chose en prenant comme variable "message" :
 

Code :
  1. if (mb_detect_encoding('message') != 'UTF-8'){
  2.  'message'= utf8_encode('message');
  3. }



Ca, c'est sûr ! Ce que tu as écrit n'a aucun sens.  :pt1cable:  
if (mb_detect_encoding($messageBody) != 'UTF-8'){  
    $messageBody= utf8_encode($messageBody);  
}


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2290928
twinsen60
Posté le 29-10-2016 à 01:33:51  profilanswer
 

Bon, les encode, décode... j'y comprends rien.
 
Mon $header et en "text/plain", et "UTF8" ...
 
Pourquoi ne pas faire les résultats sous forme de tableau en HTML ?
Cela changerai quelque chose ?
 
Comment faire ?
 
Merci d'avance
 :hello:  
 


---------------
L'amour c'est comme le jardinage : Cà commence par une pelle, et çà se termine par une graine.
n°2290929
rufo
Pas me confondre avec Lycos!
Posté le 29-10-2016 à 11:43:33  profilanswer
 

Toute la chaîne de traitement doit être dans le même charset. Dans ton, cas, de l'uTF-8. Or, il  y a manifestement à un endroit où c'est de l'ISO-8859-1. Les encode / decode sont là pour convertir de l'utf8 en ISO-8859-1 et inversement.
 
Le dév demande un gros investissement en terme de temps d'apprentissage. Il faut lire la doc en ligne de php :o Sans ça, point de salut et tu pataugeras sans arriver au résultat que tu veux.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire PHP réponse mail accent

 

Sujets relatifs
PHP MSSQL Query qui fonctionne pas toujoursFormulaire de contact
[PHP/PostGres] fetch_object ne fonctionne pasPHP et sql injection
Forum PHP/Mysql simple ?[PHP]format de date
Formulaire php ----------------------[VB.NET] Créer un formulaire a partir d'une classe
[PHP] [débutant] strlen() et chaîne de caractères particulière 
Plus de sujets relatifs à : Formulaire PHP réponse mail accent


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR