Encodage de caractères dans une balise mailto

legniarf

Membre confirmé
19 Juin 2006
18
0
Bonjour.

J'ai fait un e-mail HTML que j'envoie par Thunderbird.

Dedans il y a une balise comme celle-ci :

Bloc de code:
<a href="mailto:[email protected]?Subject=Truc&amp;Body=Mots%20accentu%e9s">
Ce lien marche bien avec un PC, mais pas sous MacOSX où, quand il y a des caractères accentués dans le Subject ou le Body, l'application Maill ne fonctionne pas. Par contre les espaces remplacés par %20 fonctionnent bien.

J'ai essayé de mettre des "&\#233;"*, des "&eacute;" ou des "é", mais ça ne marche pas non plus sous Mac.

Quelqu'un connaît-il la solution pour que ça marche ?

*Là j'ai rajouté un \ parce que sinon le forum me le transforme en "é"
 
Voici page composée dans NVU, affichée dans safari et puis via safari envoyée par MAIL et ça passe très bien :

Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
  <meta content="text/html; charset=UTF-8"
 http-equiv="content-type" />
  <title>mail</title>
</head>
<body>
<p>dgffgdfggdffgdf <a
 href="mailto:[email protected]?subject=Truc%C3%A9&amp;body=Mots%20%C3%A0%C3%A8%C3%B9%C3%A9%C3%A0">dfgdfg</a>
fdgfd
</p>
</body>
</html>
Désolé je n'ai pas thunderbird pour tester. ;)
 
Effectivement, ça marche.:zen:

Je croyais que le "é" devait être encodé en "%E9" (tu as mis "%C3%A9"), que le "à" devait être encodé en "%E0" (tu as mis "%C3%A0"), que le "è" devait être encodé en "%E8" (tu as mis "%C3%A8") et que le "ù" devait être encodé en "%F9" (tu as mis "%C3%B9").

D'où tiens-tu ces encodages qui fonctionnent mieux que les miens ?
 
Je n'ai aucun mérite : c'est NVU qui encode les accents tout seul, j'ai taper le texte en clair dans la boîte dialogue et lui a tout converti. ;)
 
Je ne dois pas avoir les mêmes réglages NVU que toi, parce que j'ai essayé et ce logiciel me convertit les caractères de la même façon que la mienne (les "é" sont convertis en "%E9") et les espaces en "+".

D'autre part je m'aperçois que ta conversion ne fonctionne pas sous PC. Les "é" deviennent des "é". :rolleyes:
 
Je veux parler d'Outlook.

Pour les réglage NVU, merci, c'était bien le UTF-8. Il me remplace les espaces par des "+", mais à la limite je peux les remplacer manuellement par des "%20" par la suite.
 
Je ne sais pas trop si tu as changé ta méthode pour l'envoi mais vérifie bien que ton client mail est lui bien aussi en UTF8 par défaut pour l'envoi. Les caractères que tu décris apparaissent typiquement dans le cas d'un problème d'encodage : page html en UTF8 et réglages dans le programme en latin1 (iso machin).
 
J'ai bien mis de l'UTF-8 dans l'envoi du message par Thunderbird, ça ne marche pas plus sous Outlook PC.

J'ai envoyé également le message par Mail via Safari, ça ne marche pas non plus.

Donc, pour résumer, il y a un encodage qui marche exclusivement sous Mac ("%E8" pour un "é") et un autre qui marche exclusivement sous PC ("%C3%A9" pour un "é").