Caractères bizarre UTF-8

Résolu
Salut !
Ma page PHP est encodée UTF-8 (enregistrée en tant que).
L'entête html est :
<META CHARSET="UTF-8" />


Le problème est que si j'écris "L'été" en objet, en local, j'obtiens bien "L'été" dans le courreir avec Wamp 3.1.7 (la dernière version). Sur mon serveur distant, j'obtiens "l'été".

Or, dans le corps du message les caractères accentués sont bien corrects.

Les transformations :
$Objet=Trim(HtmlEntities($_POST["Objet"], ENT_QUOTES,"UTF-8"));
...
$Headers="from: <".$Email.">\r\n".
"reply-to: <".$Email.">\r\n".
"content-type: text/html; charset=utf-8\r\n".
"content-transfer-encoding: 8bit\r\n".
"MIME-Version: 1.0\r\n";
$Object=MB_Encode_MimeHeader(Html_Entity_Decode($Objet, ENT_QUOTES,"UTF-8"));
...
$Envoi1=Mail("***@***", $Object, $Body, $Headers);

Je ne vois pas ce qui cloche. Avant, j'étais en ISO-8859-15 et ça marchait du tonnerre que ce soit sur le serveur distant ou la vieille version 2.5 de Wamp. Merci pour votre aide.

3 réponses

  1. Vérifié, le Boc-note de Windows me dit bien que je suis en UTF-8. J'ai ajouté la commande php, niet ! Comme je le dis, en local ça marche bien, c'est juste en distant et que le sujet, pas le corps du message.
    1. Si je mets :
      $Object=MB_Encode_MimeHeader(Html_Entity_Decode($Objet, ENT_QUOTES,"ISO-8859-15")

      Sur le serveur distant, j'ai bien les caractères accentués mais en local, j'obtiens "L'?t".
      1. Modérateur
        Je ne comprend pas pourquoi tu fais du html_entity encode et decode...
        Quoi qu'il en soit, essaye d'ajouter ceci au début de ton script
        /* Utilise l'encodage interne UTF-8 */
        mb_internal_encoding("UTF-8");
        
      2. Ca marche nickel ;) Merci
        Oui j'encode les caractères en entité pour ne pas avoir de surprises comme celle-là. Difficile de lire : "l'été" ou "L'?t".
        Merci encore !