Bonjour

Un formulaire envoyant un mail par PHP peut-il être unique et renvoyer l'écriture du client ?
J'ai à réaliser un tel formulaire où l'utilisateur peut aussi bien écrire en français ou anglais (latin) que russe (cyrillique)... Sous sa forme actuelle il transforme le russe en signes cabalistiques Smiley fache .
Salut Smiley cligne ,

je suppose que tu as déjà essayé l'utf-8 pour ta page et pour le Content-type de ton mail ? Smiley rolleyes
L'idéal serait que PHP puisse récuperer les "signes" et les convertisse en &#number;.
Mais je sais pas si il sais le faire ni le nom de la fonction... Smiley confused
s'il utilise str_replace() il devrai pouvoir s'en sortire mais ecrire l'alphabet sera assez long je pense oO
Désolé pour la boulette mais il manquait effectivement la déclaration $headers .= 'Content-type: text/plain; charset=utf-8'; Smiley biggol (ouh la honte...)
Modifié par Arsene (18 Jul 2007 - 16:48)
...le problème était plus complexe que prévu puisque malgré l'encodage le client n'affichait pas le cyrillique à la réception. Finalement c'est en testant sur une autre boite mail qu'il a pu afficher correctement l'envoi. Il y a donc un problème d'hébergeur de compte mail qui se pose : apparemment l'utf-8 et le content-type seuls ne suffisent pas à assurer un affichage correct. Quelqu'un a une piste ????
Modifié par Arsene (18 Jul 2007 - 18:31)
Re',

AMHA tous les clients de messagerie ne sont pas capables de décoder de l'utf-8 et il n'y a pas grand chose à y faire... Smiley ohwell

A part peut-être :

- soit rajouter une image dans le mail (qui sera donc forcément lisible) avec un lien vers la version en ligne du message expliquant dans la langue choisie "Si ce message n'est pas lisible vous pouvez le visualiser sur notre site" (et une fois lu ou après un certain délai le supprimer de la base)

- soit (un peu plus galère) ne pas utiliser l'utf-8 pour la page de formulaire mais choisir l'encodage 'classique' du pays en fonction de la langue utilisée (et le reporter dans le header) Smiley confus

- soit (toujours plus galère Smiley lol ) générer complètement une image avec le texte et l'envoyer directement ! Je n'ai jamais essayé mais ça doit être jouable avec PHP et GD (encore que... avec du cyrillique Smiley rolleyes ). Un tuto qui en parle.

Bon courage Smiley langue
Merci pour ton aide et tes conseils Heyoan.

C'est même pas un problème de client messagerie, c'est carrément un service mail par le web offert par l'hébergeur qui ne reconnaît pas utf-8 apparemment Smiley bawling J'ai simplement mis son autre adresse comme destinataire.

Je suppose qu'effectivement, à part changer d'hébergeur, il n'y a pas beaucoup de solutions ???
Arsene a écrit :
C'est même pas un problème de client messagerie, c'est carrément un service mail par le web offert par l'hébergeur qui ne reconnaît pas utf-8 apparemment Smiley bawling J'ai simplement mis son autre adresse comme destinataire.


E-Mail = catastrophe nucléaire mondiale


Pour mes formulaires, j'ai choisi une solution : envoi en texte brut converti en iso-8859-1, et en html avec tous les caractères convertis en entités... Comme ça, ceux avec un client supportant l'html voient le mail normalement (et avec les entités ça devrait poser moins de problèmes), ceux sans support de l'html ont le fallback en texte brut (mais forcément tout ce qui sort de l'iso est mangé)