IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

mail(), UTF-8 et caractères spéciaux


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut mail(), UTF-8 et caractères spéciaux
    Bonjour,

    je galère depuis quelques jours à envoyer via PHP un mail avec des caractères UTF-8, comme "à" ou même "已更新", à chaque fois j'obtiens n'importe quoi dans le mail

    j'ai biens les en-têtes necessaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers.= 'MIME-Version: 1.0'."\n";
      $headers.= 'Content-Transfer-Encoding: 8bit'."\n";
      $headers.= 'Content-Type: '.$args['content_format'].'; charset="utf-8"'."\n";
    je précise que les chars viennent soit d'un formulaire d'une page HTML UTF-8 ou d'une base de donnée en UTF-8 aussi (si j'affiche dans la navigateur le contenu du mail avant envoi il est très bien)

    en regardant le code source de mails envoyés depuis hotmail (qui evidement sait y faire ^^) j'ai vu des choses du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =E1=9E=9F=E1=9F=80=E1=9E=9C=E2=80=8B=E1=9E=97=E1=9F=85=E2=80=8B=E1=9E=9A=E1=
    =9E=BC=E1=9E=94=E2=80=8B=E1=9E=90=E1=9E=8F
    à la place des caractères spéciaux

    quel codage est-ce et comment l'obtenir en PHP ?

    merci

  2. #2
    Membre confirmé Avatar de greg91
    Homme Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Par défaut
    Salut,

    il te manque peut être un base64_encode quelque part ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    ce n'est pas la même chose base64

    là on dirait plutôt de l'hexadécimal

  4. #4
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Ton fichier (par exemple index.php) doit aussi être bien encodé (utf8 sans BOM).

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    le fichier en question ne contient aucun caractère spécial (ce qui empêche Notepadd+ d'encoder en UTF8 sans un tweak au passage), et il m'avait pourtant semblé que l'encodage des fichiers "de traitement" n'avait pas d'influence

    mais ok je vais essayer, mais tu penses que je ne devrais encoder que le fichier qui envoie le mail ou tous ceux qui sont inclus dans le programme (une grosse dizaine) ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    j'ai convertis tous les fichier en UTF-8, comme je m'en doutais ça ne change rien

    bon mais je sais comment il faut faire : il faut avoir cet espèce d'encodage hexa (tous les webmails l'utilisent c'est surement pas pour rien)

    vraiment personne ne sait ce que c'est ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fichier UTF-8 et caractères spéciaux
    Par Royd938 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 10/12/2008, 22h30
  2. utf-8 comparaison caractères spéciaux
    Par jboll dans le forum Langage
    Réponses: 3
    Dernier message: 04/11/2008, 21h44
  3. Réponses: 8
    Dernier message: 13/12/2006, 18h17
  4. [Mail] Envoyé des caractères spéciaux par mail
    Par Oberown dans le forum Langage
    Réponses: 1
    Dernier message: 16/03/2006, 23h55
  5. [Mail] Envoie de caractère spéciaux par mail() ?
    Par Oberown dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo