|
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
Bonjour,
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs. Certains champs se remplissent "automatiquement" par un petit script Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier champ dans certains champs. Il se trouve que c'est, des fois des montants en Euro qu'il faut "recopier", et ce avec le symbole ¤. Cela se fait normalement. Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout en PHP. Quand je passe en mode verbeux, et que je demande au script PHP d'afficher la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien affiché. Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, horreur! j'ai le code HTML du symbole ¤ (€) Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé en "€" ? Ca peut être: - le script Javascript - le script PHP Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur, si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤. Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose à PHP. Des idées? Merci d'avances. |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
Le 03/05/2007 15:00, Mihamina Rakotomandimby (R12y) a écrit :
> > Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) > avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs. Bien. Ce sera donc forcément sous forme d'entité (&euro ou deréférence numérique (€ ou € puisque ce caractèren'appartient pas à iso-8859-1. Voir : http://www.miakinen.net/vrac/charsets/ http://www.miakinen.net/vrac/charset...an&or=3&pr=164 http://www.miakinen.net/vrac/charset...an&or=4&pr=128 > Certains champs se remplissent "automatiquement" par un petit script > Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier > champ dans certains champs. Il se trouve que c'est, des fois des montants > en Euro qu'il faut "recopier", et ce avec le symbole ¤. > Cela se fait normalement. > > Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout > en PHP. > Quand je passe en mode verbeux, et que je demande au script PHP d'afficher > la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien > affiché. Dans quel jeu de caractères ? iso-8859-1 ? cp1252 ? Si tu le fais afficher via un navigateur, qu'y a-t-il quand tu visualises le code source de la page ? > Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, > horreur! j'ai le code HTML du symbole ¤ (€) Comment ça, « horreur » ? Puisque c'est le seul moyen. > Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé > en "€" ? > Ca peut être: > - le script Javascript > - le script PHP - le navigateur qui doit transmettre un caractère n'appartenant pas au jeu déclaré > Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou > d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur, > si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤. Voir le code source (Ctrl+U dans Mozilla ou FireFox). > Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre > chose à PHP. Tu peux aussi faire une boucle en PHP pour afficher les codes numériques de chaque octet composant une chaîne. |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
Mihamina Rakotomandimby (R12y) a écrit :
> Bonjour, > > Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) > avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs. "On" ... qui ça ? le visiteur ? si oui, comment s'y prend-il ? si non, par quoi est-ce écrit ? - en clair dans le code html ? - javascript ? - php ? Ecrire '12 ¤' dans un champ de texte : si c'est en JS : document.monForm.monText.value = 12 + ' \u20ac'; si en HTML : <input name=montext value="12 €"> ou : <input name=montext value="12 €"> si en php, pareil qu'en html ? echo '<input name=montext value="'.12.' €">'; > Certains champs se remplissent "automatiquement" par un petit script > Javascript. Dans ce cas pour 'euro' utiliser le code unicode de remplacement : \u20ac <http://www.miakinen.net/vrac/charsets/?hv=h&o6=MacRoman&or=3&pr=164> exemple : http://stephane.moriaux.perso.wanado...gloops_asm.htm > Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout > en PHP. Là il faut voir à voir ce qu'en fait le brouteur. (je suppose que c'est "récupéré" par l'envoi du formulaire ?) > Quand je passe en mode verbeux, et que je demande au script PHP d'afficher > la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien > affiché. > > Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, > horreur! j'ai le code HTML du symbole ¤ (€) Oui, et alors ? c'est l'html-entité numérique, celle entité-html verbeuse sera '&euro' > Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé > en "€" ? > Ca peut être: > - le script Javascript certainement pas > - le script PHP ou bêtement le brouteur qui escape() le code récupéré dans la valeur de l'input ? > Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou > d'update, il m'affiche ça dans mon navigateur (Konqueror). Heu il n'y a pas que Konkeror au monde ... ! ? Mon navigateur Firefox, pour '¤' trouvé dans un textarea ou un input renvoie : '%80' qui est le code hexadecimal du charset Windows (CP1252) (revoir le lien donné ci-avant des tables de caractères) tu n'es pas sorti de l'auberge là ... ! > Mon navigateur, > si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤. Normal. > Je > ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose > à PHP. > > Des idées? y a pas une 'tite fonction PHP de traduction des html-entités en PHP ? genre : htmlentity(blabla) http://php.benscom.com/manual/fr/function.bin2hex.php http://php.benscom.com/manual/fr/fun...t-uuencode.php http://php.benscom.com/manual/fr/fun...ity-decode.php http://php.benscom.com/manual/fr/fun...mlentities.php -- Stephane Moriaux et son (moins) vieux Mac déjà dépassé |
|
![]() |
| Outils de la discussion | |
|
|