|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Salut,
Je fais un mailto: et dans le subject il peut y avoir de texte, n'importe quel type de texte, donc des ", ' et autres caractères spéciaux comme "é". Niveau php cela donne ça: Code :
<a href=\"mailto:?subject=".htmlentities(htmlspecialchars($row_book["picbook_name"]))."&body=%0A".htmlentities(htmlspecialchars("Chapitre ".$current_chapter["chapter_number"].": ".$current_chapter["chapter_name"].""))."%0A%0A".htmlspecialchars("Lien: $link/book.php?bc=$cId")."\"><img style=\"border:0px;\" src=\"$img/share-email.png\"></a> Chapitre 1: Un écueil fuyant... ou lieu de Chapitre 1: Un écueil fuyant... Et bizarrement cela n'est pas correct si on clique avec Firefox ou Chrome pour envoyer le mail mais c'est correct depuis IE9 ! A part htmlentities et htmlspecialchars je ne vois pas quelle fonction utiliser pour un lien de type mailto. Vous avez une idée ? Merci, Vincent. PS: Ca fonctionne bien depuis un Mac que ce soit avec Thunderbird ou avec l'application Mail. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
c'est soit htmlentities soit htmlspecialchars, mais pas les 2, regarde bien la doc des deux fonctions et leurs paramètres charset
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
Ensuite, au niveau html, htmlentities change bien le "é" en "é", donc c'est bizarre qu'un é devienne é sous windows live mail lancé par Chrome ou Firefox. Une idée qqn ? |
|
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
t'as bien le charset pour les fonctions ?
ton fichier est en utf-8 ? ton serveur aussi ? ton content-type aussi ? t'as base sql aussi ? t'as connexion sql aussi ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
http://www.phpdesigner.fr/ressources...entuation.html Donc quand je mets %C8 dans le body= j'ai bien en retour le caractère È, par contre si je laisse la fonction htmlentities modifier È, j'ai en retour le caractère Ã. Dans le site il dit: Voici la table de correspondance des code %00 à %FF. Les plus perspicaces constaterons que ce n'est rien d'autre que la vieille table de correspondance de la norme ISO-8859-1. Et bizarrement, sur php.net il est dit pour htmlentities "Actuellement, le jeu de caractères ISO-8859-1 est utilisé par défaut. " Donc il me faudrait la bonne fonction php qui modifie par exemple È en %C8 pas en È. |
|
|
|
00
|
|
|
#6 | |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
Sauf que maintenant ça ne marche plus sous Mac os, que ce soit avec Thunderbird ou avec l'application Mail. Dès qu'il y a un caractère spécial le body du mail devient vide et pourtant ca marche sous Windows 7 que ce soit avec Chrome, Firefox ou IE9. Voici le résultat du rawurlencode: Code :
<a href="mailto:?subject=20%20milles%20lieues%20sous%20les%20mers&body=coucou%0AChapitre%201%3A%20Un%20%E9cueil%20fuyant...%C8%0A%0ALien%3A%20http%3A%2F%2Flocalhost%3A8888%2FElizaNet2%2Fbook.php%3Fbc%3D20"> Merci, Vincent. |
|
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Alain Inscription : novembre 2005 Messages : 897 ![]() |
Salut
Comme stealth35 a évoqué à plusieurs reprises le charset utf8, essaye à toute fin utile : Code :
....subject=".utf8_decode($row_book["picbook_name"])." .... Et certains outils de messagerie peuvent même bloquer le mail.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre. C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles. |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Alain Inscription : novembre 2005 Messages : 897 ![]() |
Un petit complément, finalement pas trop hors sujet.
J'utilise une petite interface sympa qui permet de valider du code html vers prés de 24 clients mails, notemment le style utilisé. validator html A toute fin utile, et celà peut éviter de drôles de désagréments.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre. C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles. |
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 383 ![]() |
Citation:
http://boxfly.free.fr/test/mailto.html Donc sous Mac (j'ai testé avec un macbook pro et un iMac) un lien mailto ne remplit pas le body du mail si il y a un caractère spécial dans ce body alors que ca marche sous Windows avec Firefox ou IE ou Chrome qui lance Windows Live mail. Pour le 3ème lien avec utf8_encode() et cette fois ca marche avec Mac mais plus avec Windows Je ne sais plus quoi faire |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com